Praktische Anwendungen und fortgeschrittene Nutzung
In diesem letzten Schritt werden wir einige praktische Anwendungen und fortgeschrittene Nutzungsmöglichkeiten des nl
-Befehls in realen Szenarien untersuchen.
Nummerierung mehrerer Dateien
Der nl
-Befehl kann mehrere Dateien gleichzeitig verarbeiten. Erstellen wir zunächst eine zweite Datei:
nano commands2.txt
Fügen Sie den folgenden Inhalt hinzu:
Additional Linux Commands
------------------------
find - search for files
tar - archive files
ssh - secure shell connection
df - disk free space
top - display system processes
Speichern Sie die Datei und verlassen Sie nano. Nummerieren wir nun beide Dateien zusammen:
nl sample.txt commands2.txt > combined_numbered.txt
Zeigen Sie das kombinierte Ergebnis an:
cat combined_numbered.txt
Sie sollten sehen, dass beide Dateien nacheinander nummeriert sind:
1 Linux Commands
2 -------------
3 cat - display file contents
4 ls - list directory contents
5 cd - change directory
6 grep - search for patterns
7 chmod - change file permissions
1 Additional Linux Commands
2 ------------------------
3 find - search for files
4 tar - archive files
5 ssh - secure shell connection
6 df - disk free space
7 top - display system processes
Beachten Sie, dass die Zeilennummerierung für die zweite Datei neu beginnt. Wenn Sie eine fortlaufende Nummerierung über alle Dateien hinweg wünschen, können Sie die Option -i
verwenden:
nl -i 1 -n ln sample.txt commands2.txt > continuously_numbered.txt
Zeigen Sie das Ergebnis an:
cat continuously_numbered.txt
Sie sollten eine fortlaufende Nummerierung über beide Dateien hinweg sehen:
1 Linux Commands
2 -------------
3 cat - display file contents
4 ls - list directory contents
5 cd - change directory
6 grep - search for patterns
7 chmod - change file permissions
8 Additional Linux Commands
9 ------------------------
10 find - search for files
11 tar - archive files
12 ssh - secure shell connection
13 df - disk free space
14 top - display system processes
Kombination mit anderen Befehlen
Der nl
-Befehl kann mit anderen Linux-Befehlen mithilfe von Pipes kombiniert werden. Beispielsweise können Sie die Zeilen der Ausgabe eines Befehls nummerieren:
ls -l /etc | nl > numbered_ls_output.txt
Zeigen Sie das Ergebnis an:
cat numbered_ls_output.txt
Sie sollten die Ausgabe von ls -l /etc
mit hinzugefügten Zeilennummern sehen.
Praktischer Anwendungsfall: Hinzufügen von Zeilennummern zu einer Protokolldatei
Die Zeilennummerierung ist besonders nützlich bei der Analyse von Protokolldateien. Sehen wir uns an, wie wir nl
verwenden können, um Zeilennummern zu Protokollen hinzuzufügen:
## First, create a sample log file
cat > sample_log.txt << EOF
[2023-07-01 10:15:22] INFO: System startup
[2023-07-01 10:15:24] INFO: Loading configuration
[2023-07-01 10:15:25] WARNING: Config file is outdated
[2023-07-01 10:15:28] ERROR: Failed to connect to database
[2023-07-01 10:15:30] INFO: Retrying database connection
[2023-07-01 10:15:33] INFO: Database connection established
[2023-07-01 10:15:35] INFO: System ready
EOF
Fügen Sie nun Zeilennummern in einem benutzerdefinierten Format hinzu, das die Zeilennummer in Klammern enthält:
nl -s ' [Line: ' -n ln -w 2 -b a sample_log.txt | sed 's/$/]/' > numbered_log.txt
Dieser Befehl:
- Verwendet ein benutzerdefiniertes Trennzeichen
-s ' [Line: '
- Verwendet linksbündige Zahlen ohne führende Nullen
-n ln
- Setzt die Breite auf 2 Zeichen
-w 2
- Nummeriert alle Zeilen
-b a
- Verwendet
sed
, um ein schließendes Klammerzeichen am Ende jeder Zeile hinzuzufügen
Zeigen Sie das Ergebnis an:
cat numbered_log.txt
Sie sollten Protokolleinträge mit Zeilennummern in Klammern sehen:
1 [Line: [2023-07-01 10:15:22] INFO: System startup]
2 [Line: [2023-07-01 10:15:24] INFO: Loading configuration]
3 [Line: [2023-07-01 10:15:25] WARNING: Config file is outdated]
4 [Line: [2023-07-01 10:15:28] ERROR: Failed to connect to database]
5 [Line: [2023-07-01 10:15:30] INFO: Retrying database connection]
6 [Line: [2023-07-01 10:15:33] INFO: Database connection established]
7 [Line: [2023-07-01 10:15:35] INFO: System ready]
Dieses Format kann sehr nützlich sein, wenn Sie bestimmte Protokolleinträge in Dokumentationen oder Diskussionen referenzieren.
Nun haben Sie ein gutes Verständnis davon, wie Sie den nl
-Befehl für einfache und fortgeschrittene Zeilennummerierung in Linux verwenden können. Diese Fähigkeit wird Ihnen bei der Arbeit mit Textdateien, Protokollen, Code und Dokumentationen von Wert sein.