I die Zeile enthalten "Will_Liu>" aus, wenn die massive_data.txt n < m oder n == 0 oder m == 0 fangen will, eine Zeitraum des Prototyps ist wie folgt.Paßziels Reihe mit SED oder grep
cat massive_data.txt
Will_Liu> set Name.* xxx
============================================
Id Name Para status
============================================
1 name-1 xxxxx OK
2 name-2 xxxxx OK
3 name-3 xxxxx Not_OK
. ... .... OK
. ... .... OK
m name-m .... Not_OK
============================================
Total: m name attempted, n name set OK
In dem obigen Code, der "m" und "n" sind variabel, wenn die n < m oder n == 0 oder m == 0, drucken die Zeilen enthalten " Will_Liu> "; Wenn n == m und beide! = 0, überspringe und ignoriere diese Situation.
Ich konnte einfach "grep" verwenden und "sed" Schlüsselpunkte wie die zu erreichen:
cat test.txt
Will_Liu> set Name_group1 xxx
============================================
Id Name Para status
============================================
1 name-1 xxxxx OK
2 name-2 xxxxx OK
3 name-3 xxxxx Not_OK
============================================
Total: 3 name attempted, 2 name set OK
Will_Liu> set Name_group2 yyy
============================================
Id Name Para status
============================================
1 name-4 xxxxx OK
2 name-5 xxxxx Not_OK
3 name-6 xxxxx Not_OK
============================================
Total: 3 name attempted, 1 name set OK
I "Sed" und "grep" Befehl wie folgt verwenden:
sed -n "/Total: 3 name attempted,/p" test.txt
Total: 3 name attempted, 2 name set OK
Total: 3 name attempted, 1 name set OK
grep -B 9 "Total: 3 name attempted" test.txt | sed -n '/Will_Liu>/p'
Will_Liu> set Name_group1 xxx
Will_Liu> set Name_group2 yyy
in der grep Befehl ist die 9 3+ , die ist Basis auf das Format der Struktur, es ist ein fester Wert.
Wie kann ich vorstellen 2 variates die „m“ und „n“ zu definieren, und meinen Code verbessern, um Ergebnis aus massive_data.txt erwartet werden? Mein erwarten Ausgang:
Will_Liu> set Name1 xxx
Will_Liu> set Name2 yyy
Will_Liu> set Name3 zzz
. . .
. . .
. . .
Bitte arbeiten Sie zur Klärung dieser Frage. Es gibt viele undefinierte Begriffe: zum Beispiel: "Zielzeile" oder "Sessellinie" oder "hinter Code" oder "die Zufallszahl". Wenn Sie gute Antworten wünschen, muss Ihr Schreiben klar und präzise sein. Lass uns nicht raten. – John1024
Sorry für die Unannehmlichkeiten, die "Zielzeile" bedeutet "Will_Liu> Set Name. * Xxx", und die "hinter Code" bedeutet "oben", ich werde meine Frage neu zu schreiben. –