Leerzeichen für führende Zeilen identifizieren - Shell-Skript

287
Daz

Ich habe eine Beispieldatei wie unten. Es gibt führende Whitespaces. Gibt es eine Möglichkeit, sie zu erkennen und die genaue Zeilennummer, die den Leerraum enthält, mithilfe eines Shell-Skripts auszudrucken?

test space at back  test space at front TAB at end  TAB at front 
0
Was hast du bisher versucht? Sie könnten "grep" wahrscheinlich irgendwie verwenden, denke ich. Seth vor 7 Jahren 0

2 Antworten auf die Frage

1
Farahmand

Sie können so etwas verwenden:

awk '/^[ \t]+/ ' test.txt 

Der obige Befehl druckt die Zeilennummern mit führenden Leerzeichen oder Tab (s) der Datei test.txt

Bitte! Wenn diese Antwort Ihr Problem gelöst hat, akzeptieren Sie es, indem Sie auf das Häkchen klicken. Farahmand vor 7 Jahren 0
1
Seth

Eine Version, die denselben regulären Ausdruck verwenden würde wie die von Farahmand gelieferte, die jedoch grepanstelle von verwendet wird, awkkönnte folgendermaßen aussehen:

grep -n -E $'^[ \t]+' test.txt 

Das $ist notwendig um zu entkommen \t.