output.txt
私は5000を超えるファイルコレクションを持っており、すべてのファイルとそのファイル名の27行目を含むファイルを作成したいと思います。私がインターネットから得たのは、awk
orsed
コマンドを使用して単一のファイルから特定の行を選択することです。たとえば、次のようになります。
$sed -n 27p *.txt >>output.txt
たとえば、ディレクトリ内の私のファイルは次のようになります。
log_1.txt
log_2.txt
log_3.txt
log_4.txt
.
.
.
私は各ファイルの行27とそのファイル名が新しいファイルの印刷された行の前後にあることを望みますoutput.txt
。
ベストアンサー1
awk 'FNR==27 {print FILENAME, $0}' *.txt >output.txt
FILENAME
現在の入力ファイル名の組み込み awk 変数です。FNR
現在のファイルの行番号を参照します。$0
全体の行を表します。