Applications pratiques et utilisation avancée
Dans cette étape finale, nous allons explorer quelques applications pratiques et utilisations avancées de la commande nl
dans des scénarios du monde réel.
Numérotation de plusieurs fichiers
La commande nl
peut traiter plusieurs fichiers à la fois. Créons un deuxième fichier :
nano commands2.txt
Ajoutez le contenu suivant :
Additional Linux Commands
------------------------
find - search for files
tar - archive files
ssh - secure shell connection
df - disk free space
top - display system processes
Enregistrez et quittez nano. Maintenant, numérotons les deux fichiers ensemble :
nl sample.txt commands2.txt > combined_numbered.txt
Voyons le résultat combiné :
cat combined_numbered.txt
Vous devriez voir les deux fichiers numérotés séquentiellement :
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
Notez que les numéros de ligne recommencent pour le deuxième fichier. Si vous souhaitez une numérotation continue entre les fichiers, vous pouvez utiliser l'option -i
:
nl -i 1 -n ln sample.txt commands2.txt > continuously_numbered.txt
Voyons le résultat :
cat continuously_numbered.txt
Vous devriez voir une numérotation continue sur les deux fichiers :
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
Combinaison avec d'autres commandes
La commande nl
peut être combinée avec d'autres commandes Linux en utilisant des pipes. Par exemple, vous pouvez numéroter les lignes de la sortie d'une commande :
ls -l /etc | nl > numbered_ls_output.txt
Voyons le résultat :
cat numbered_ls_output.txt
Vous devriez voir la sortie de ls -l /etc
avec des numéros de ligne ajoutés.
Cas d'utilisation dans le monde réel : Ajout de numéros de ligne à un fichier de journal
La numérotation de lignes est particulièrement utile lors de l'analyse de fichiers de journal. Voyons comment nous pouvons utiliser nl
pour ajouter des numéros de ligne aux journaux :
## 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
Maintenant, ajoutons des numéros de ligne avec un format personnalisé qui inclut le numéro de ligne entre crochets :
nl -s ' [Line: ' -n ln -w 2 -b a sample_log.txt | sed 's/$/]/' > numbered_log.txt
Cette commande :
- Utilise un séparateur personnalisé
-s ' [Line: '
- Utilise des numéros alignés à gauche sans zéros initiaux
-n ln
- Fixe la largeur à 2 caractères
-w 2
- Numérote toutes les lignes
-b a
- Utilise
sed
pour ajouter une crochet fermante à la fin de chaque ligne
Voyons le résultat :
cat numbered_log.txt
Vous devriez voir les entrées de journal avec des numéros de ligne entre crochets :
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]
Ce format peut être très utile lors de la référence à des entrées de journal spécifiques dans la documentation ou les discussions.
Maintenant, vous avez une bonne compréhension de l'utilisation de la commande nl
pour la numérotation de lignes de base et avancée sous Linux. Cette compétence sera précieuse lors de la manipulation de fichiers texte, de journaux, de code et de documentation.