Haben Sie sich jemals gefragt, wie Sie der Standardausgabe von Textdateien Zeilennummern hinzufügen können? Diese kurze Anleitung erklärt, wie Sie einer bestimmten Textdatei Zeilennummern hinzufügen können. Es gibt mehrere Möglichkeiten, einer Datei Zeilennummern hinzuzufügen. Hier habe ich 6 verschiedene Methoden behandelt, um dies zu tun. Ich werde weitere Methoden hinzufügen, wenn ich in Zukunft auf welche stoße. Setzen Sie am besten ein Lesezeichen für diesen Leitfaden und kommen Sie später wieder, um zu sehen, ob es Ergänzungen gibt.
Methode 1 – Verwenden des Befehls „nl“
Der Befehl „nl“ dient dazu, Zeilennummern zu einer Datei hinzuzufügen. Es schreibt die angegebene Datei mit hinzugefügten Zeilennummern auf die Standardausgabe. Ich habe eine Datei namens file.txt mit folgendem Inhalt.
$ cat file.txt This is line1 This is line2 This is line3 This is line5 This is line8
Wie Sie in der obigen Ausgabe sehen, hat die Datei 8 Zeilen mit drei leeren Zeilen. Lassen Sie uns die Zeilennummern hinzufügen.
Führen Sie dazu Folgendes aus:
$ nl file.txt 1 This is line1 2 This is line2 3 This is line3 4 This is line5 5 This is line8
Der nl-Befehl berücksichtigt keine leeren Zeilen. Es werden nur die Zahlen zu nicht leeren Zeilen hinzugefügt. Wenn Sie alle Zeilen einschließlich der Leerzeilen nummerieren möchten, verwenden Sie -b kennzeichnen wie unten.
$ nl -b a file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
Außerdem können Sie nach den Zahlen ein Symbol/Sonderzeichen hinzufügen. Um beispielsweise einen Punkt (.) nach den Zahlen hinzuzufügen, führen Sie Folgendes aus:
$ nl -s "." file.txt 1.This is line1 2.This is line2 3.This is line3 4.This is line5 5.This is line8
Möglicherweise möchten Sie die Breite der Ausgabe anpassen. Verwenden Sie dazu das Flag -w wie unten.
$ nl -w2 file.txt
Methode 2 - Verwendung des 'cat'-Befehls
Der cat-Befehl wird verwendet, um den Inhalt einer Datei anzuzeigen. Wenn Sie der Ausgabe einer Datei Zahlen hinzufügen möchten, verwenden Sie das Flag -n wie unten.
$ cat -n file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
Alternativ können Sie die Standardausgabe wie unten beschrieben an eine neue Datei übergeben.
$ cat -n file.txt > newfile.txt
Vielleicht möchten Sie auch die wiederholten leeren Zeilen loswerden.
$ cat -s -n file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 This is line8
Methode 3 – Verwenden des Befehls „awk“
Um der Ausgabe einer Datei mit dem Befehl awk Zeilennummern hinzuzufügen, führen Sie Folgendes aus:
$ awk 'BEGIN{i=1} /.*/{printf "%d.% s\n",i,$0; i++}' file.txt 1.This is line1 2.This is line2 3.This is line3 4. 5.This is line5 6. 7. 8.This is line8
Wie Sie vielleicht bemerkt haben, habe ich im BEGIN-Parameter die Startnummer mit 1 zugewiesen. Sie können jede andere Startnummer Ihrer Wahl vergeben, zum Beispiel 5, wie unten gezeigt.
$ awk 'BEGIN{i=5} /.*/{printf "%d.% s\n",i,$0; i++}' file.txt 5.This is line1 6.This is line2 7.This is line3 8. 9.This is line5 10. 11. 12.This is line8
Verwenden Sie den folgenden Befehl, wenn Sie die Leerzeilen nicht berücksichtigen möchten:
$ awk 'BEGIN{i=0} {if($0 !~ /^$/) {printf ("%d.%s \n",i,$0); i++} else { print $0} } ' file.txt
Wenn Sie der Meinung sind, dass die obigen Befehle etwas schwer zu merken sind, verwenden Sie stattdessen den folgenden Befehl.
$ awk '{ print FNR " " $0 }' file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
Wenn Sie den Abstand zwischen Zahlen und Text vergrößern möchten, führen Sie Folgendes aus:
$ awk '{ print FNR "\t " $0 }' file.txt
Methode 4 – Verwenden des Befehls „sed“
Um einer Standardausgabe einer Datei mit dem Befehl sed Zeilennummern hinzuzufügen, führen Sie Folgendes aus:
$ sed '/./=' file.txt | sed '/./N; s/\n/ /' 1 This is line1 2 This is line2 3 This is line3 5 This is line5 8 This is line8
Der Befehl sed hat eine coole Funktion, die mir am besten gefällt. Wir können ein N anzeigen Zeile aus einer Datei. Um beispielsweise die dritte Zeile in einer Datei anzuzeigen, führen Sie Folgendes aus:
$ sed -n 3p file.txt This is line3
Methode 5 – Verwenden des Befehls „weniger“
Um die Zeilennummer der Standardausgabe einer Datei mit dem Less-Befehl anzuzeigen, führen Sie Folgendes aus:
$ less -N file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
Methode 6 – Verwenden des Befehls „grep“
Der grep-Befehl kann verwendet werden, um nach einer Zeile zu suchen, die eine bestimmte Zeile enthält. Wenn Sie die Zeilennummern zu einer Zeile hinzufügen möchten, die einen bestimmten Buchstaben hat, zum Beispiel Zeile , ausführen:
$ grep -n "line" file.txt 1:This is line1 2:This is line2 3:This is line3 5:This is line5 8:This is line8
Bitte beachten Sie, dass dieser Befehl nur die Zahlen zu den Zeilen hinzufügt, die die Suchzeichenfolge enthalten. Alles andere in der angegebenen Datei wird weggelassen.
Und das ist alles. Weitere Einzelheiten zu den obigen Befehlen finden Sie in den Manpages. Sie kennen nun die verschiedenen Methoden, Textdateien Zeilennummern hinzuzufügen. Ich hoffe, Sie finden das nützlich. Weitere gute Sachen folgen. Bleiben Sie dran!
Prost!