Nummerierung bestimmter Zeilentypen
Der nl
-Befehl ermöglicht es Ihnen, nur bestimmte Zeilentypen zu nummerieren. Dies kann äußerst nützlich sein, wenn Sie mit komplexen Dateien arbeiten und sich auf bestimmte Zeilen konzentrieren möchten. Lassen Sie uns nur die nicht-leeren Zeilen nummerieren, die nicht mit einem '#'-Zeichen beginnen (welches oft für Kommentare in Konfigurationsdateien verwendet wird).
Verwenden Sie den folgenden Befehl:
nl -b p'^[^#]' config.txt
Sie sollten eine Ausgabe wie die folgende sehen:
## Server Configuration
1 port=8080
2 max_connections=100
## Database Settings
3 db_host=localhost
4 db_port=5432
5 db_name=myapp
### Logging Configuration
6 log_level=info
7 log_file=/var/log/myapp.log
## Security Settings
8 enable_ssl=true
9 ssl_cert_path=/etc/ssl/certs/myapp.crt
### Performance Tuning
10 cache_size=1024
11 thread_pool=20
## Miscellaneous
12 debug_mode=false
Lassen Sie uns diesen komplexen Befehl analysieren:
-b p
teilt nl
mit, nur die Zeilen zu nummerieren, die einem bestimmten Muster entsprechen.
'^[^#]'
ist ein regulärer Ausdruck (regular expression):
^
bedeutet "Zeilenanfang"
[^#]
bedeutet "jedes Zeichen, das nicht #" ist
- Zusammen passt dieser Ausdruck also auf jede Zeile, die nicht mit ## beginnt
Dieser Befehl ist nützlich, wenn Sie sich auf aktive Konfigurationszeilen konzentrieren und Kommentare ignorieren möchten. Er ist besonders hilfreich in großen Konfigurationsdateien, in denen Sie die tatsächlichen Einstellungen schnell identifizieren und referenzieren möchten.
Wenn Sie nicht die erwartete Ausgabe sehen, überprüfen Sie noch einmal, ob Sie den Befehl genau so eingegeben haben, wie er gezeigt wird, einschließlich der einfachen Anführungszeichen um das Muster.