特定の行の種類に番号を付ける
nl
コマンドを使えば、特定の種類の行のみに番号を付けることができます。複雑なファイルを扱う際に、特定の行に焦点を当てたい場合にこれは非常に便利です。'#' 文字で始まらない非空行(設定ファイルではコメントとしてよく使われます)のみに番号を付けてみましょう。
次のコマンドを使用します。
nl -b p'^[^#]' config.txt
次のような出力が表示されるはずです。
## 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
この複雑なコマンドを解説しましょう。
-b p
は nl
に特定のパターンに一致する行のみに番号を付けるように指示します。
'^[^#]'
は正規表現のパターンです。
^
は「行の先頭」を意味します。
[^#]
は「## ではない任意の文字」を意味します。
- これらを合わせると、## で始まらない任意の行に一致します。
このコマンドは、アクティブな設定行に焦点を当ててコメントを無視したい場合に便利です。実際の設定を迅速に識別して参照したい大型の設定ファイルでは特に役立ちます。
期待する出力が表示されない場合は、パターンの周りのシングルクォートを含めて、コマンドを正確に入力したことを再度確認してください。