ls -ltr|grep 'Mar 4'| awk '{print $9 }'|zcat -fq |grep 12345
特定の日付に変更されたすべてのファイルを検索し、それらを zcat して、フィールドで数値文字列を検索したいと考えています。
ファイル自体ではなく文字列のファイル名を検索するため、上記は機能しません。
何か助けはありますか?
M
xargs
awk によって出力されたファイル名に対して grep を実行するために使用します。
ls -ltr | grep 'Mar 4' | awk '{print 9}' | xargs zcat -fq | grep 12345
または、awk 自体から残りのパイプを実行すると思います。
find
代わりに使用してみてください。および/またはxargs
。
xargs
またはの使用に関する細かい答えに加えて、またはの代わりにパイプを削除して配管するfind
ことで、余分なプロセスを取り除くこともできます。zcat
zgrep
grep -Z