wollte ich nicht wirklich haben, dies zu verschwenden Menschen Zeit und fragen, aber nach 2 Stunden und läuft aus meiner Zeit habe ich beschlossen, zu fragen ..zurücksetzen Variable neue Linie awk
Im Grunde habe ich eine Datei im Format:
word: other words; more words here; last word
word: more words here; last word
(etc) x 100
Wo das Auftreten anderer Wörter/mehr Wörter null oder mehr sein kann.
Mein Ziel ist es, die Anzahl der Male zu zählen ';' tritt pro Zeile auf und druckt sie dann am Anfang der Zeile aus.
Meine Logik war, verwenden Sie awk für eine Regex von ';' und erhöhen Sie eine Variable jedes Mal, wenn es auftritt, dann drucken Sie die Variable.
Zur Zeit habe ich: (btw, wie ich meinen Code setzen in wie ein schattierten Feld ...)
awk ' /;/ {n=n+1} {print n " " $0}' a.txt
Jedoch habe ich rückgängig gemacht in geworden, dass mein ‚n‘ wird nicht zurückgesetzt, wenn awk liest die nächste Zeile. Wie setze ich n zurück, wenn sich awk in die nächste Zeile bewegt? Ich habe versucht, v = NR und wenn v! = NR dann n = 0, aber ich konnte das nicht funktionieren.
Ich habe auch eine letzte Frage, wie setze ich eine Variable gleich einem Regex?
Dankhaufen,
Danke, funktioniert gut :-) – Max
Als Antwort auf Ihr letztes Bit, wenn ich eine Variable gleich einem Regex setzen wollte, dann drucken Sie es aus. Wo die Regex nur Text vor dem ':' war (also sollte die Regex 'Wort' isolieren) und wollte eine Variable gleich diesem setzen. Wie würde ich? – Max
@ Max, siehe das Update. – paxdiablo