これは私のコマンドです:
cat httpd.conf | grep ^LogFormat | awk -F\" '{print $(NF)}'
出力:
commonsess
common
または、値の数に制限はなく、この値を配列に保存してインデックス番号を使用して1つずつ印刷する必要があります。
ベストアンサー1
シェルで配列やループを使用することは、一般的にコーディング習慣が悪いという信号です。シェルは他のコマンドを実行するためのツールです。awk
テキストレコードのフィールドを使用して複雑な操作を実行するための一般的なコマンド。awk
何百ものコマンドループを実行するのではなく、ジョブに対して一度呼び出したいと思います。
次から始まる行のインデックスと最後のフィールド名を印刷する場合^LogFormat
:
awk '/^LogFormat/{print n++, $NF}' httpd.conf
cat
(接続のため)、grep
(awk
yesの親セットgrep
)、シェル配列やシェルループは必要ありません。