複数ファイルの特定行の印刷

複数ファイルの特定行の印刷

output.txt私は5000を超えるファイルコレクションを持っており、すべてのファイルとそのファイル名の27行目を含むファイルを作成したいと思います。私がインターネットから得たのは、awkorsedコマンドを使用して単一のファイルから特定の行を選択することです。たとえば、次のようになります。 $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全体の行を表します。

おすすめ記事