パターンを使用して、現在のディレクトリにある最後のファイルの最初の行を印刷します。

パターンを使用して、現在のディレクトリにある最後のファイルの最初の行を印刷します。

1つのディレクトリに複数のログファイルがあり、パターンがあるvanished最後の行と一緒にこのファイルの最初の行を印刷したいと思います。

最初の行を印刷する前にログファイル名を印刷することもできますかawk*.logs

ベストアンサー1

このような?

for f in *.logs; do tail -n 1 -- "$f" | grep -q vanished && { printf '%s: ' "$f"; head -n 1 -- "$f"; }; done

これを行うこともできますが、awkファイルの先頭と末尾のみを読み取る必要はありませんが、ファイル全体を読み取る必要があるため、ファイルが大きいと効率が悪くなります。

おすすめ記事