Einfaches Hinzufügen von Zeilennummern zu einer Textdatei mit der Befehlszeile

Brian fragt: "Ich muss Zeilennummern zu einer Textdatei hinzufügen. Ich meine keine Zeilennummern im Texteditor, sondern eine Zahl neben jedem Element in einer Textdatei. Ist es möglich, die Datei 1, 2, 3 zu automatisieren oder muss ich die Datei manuell bearbeiten? "

Ja, Sie können Zeilennummern einfach in eine Textdatei schreiben ... wir zeigen Ihnen genau, wie es geht! Um dies zu verdeutlichen, fügen Sie links von jeder neuen Textzeile eine Zählzeilennummer hinzu, wobei jeder Zeile die entsprechende Nummer vorangestellt wird. Dieser Code kodiert ihn in die Textdatei, was bedeutet, dass er sich nicht von Zeilennummern in einer App wie TextWrangler, VIM oder BBEdit unterscheidet.

Um zu beginnen, gehen Sie zum Terminal und Sie werden Folgendes an der Befehlszeile machen wollen:

Verwenden von cat zum Hinzufügen von Zeilennummern zu einer Textdatei

Dies ist bei weitem die einfachste Methode:
cat -n file > file_new

Ersetzen Sie einfach "file" durch den Dateinamen, dem Sie Zeilennummern hinzufügen möchten, und ändern Sie "file_name" in den exportierten Namen.

Sie können den Befehl 'nl' auch wie folgt verwenden:

Harte Core-Zeilennummern in eine Textdatei mit dem Befehl nl

Ersetzen Sie erneut "Dateiname" und "Dateiname" mit dem entsprechenden Namen der Datei, der Sie Zeilennummern hinzufügen:

nl -ba -s ': ' filename > filenamenumbered

Das ist alles dazu! Sie können einen der beiden Tricks verwenden. Mehrere Leser lasen die Kommentare, um leichtere Lösungen für die Nummerierung von Zeilen innerhalb einer Textdatei zu finden. Sie wurden oben in der Reihenfolge der Einfachheit aufgelistet, aber wir bieten auch eine "awk" -Lösung darunter an.

-

Sie können auch das Befehlszeilentool 'awk' verwenden, aber es ist ein wenig komplexer als die oben genannten Methoden. Wenn Sie interessiert sind, starten Sie das Terminal, und los geht's.

Stellen Sie zunächst sicher, dass Sie Ihre Textdatei im ungeraden Fall sichern, dass etwas schief geht (wie ein Syntaxfehler). Nachdem Sie eine Sicherungskopie der fraglichen Textdatei erstellt haben, schreiben Sie die Zeilennummern direkt in diese Datei:

awk '{printf("%5d : %s\n", NR, $0)}' filename > filenamenumbered

filename ist die Originaldatei, und filename_numbered ist, was auch immer Sie die Ausgabe des Befehls awk mit an sie angehängten Zeilennummern aufrufen möchten. Ihr Ausgabedokument erhält jetzt vor jeder Zeile eine Zahl gefolgt von einem Doppelpunkt:

1: Zeile mit Wörtern
2: Zeile mit Wörtern
3: Linie mit Wörtern

Ihre ursprüngliche Textdatei sollte unverändert sein, aber wenn Sie einen Syntaxfehler gemacht haben, wird die von Ihnen erstellte Sicherungsdatei Ihren Tag retten. Dieser Befehl funktioniert in jedem Unix-Betriebssystem, das awk unterstützt. Sie können diesen Befehl also unter FreeBSD, Linux, Mac OS X oder jeder anderen denkbaren Variante ausführen.