検索:「-execが0を返す」と「-printfのみを表示」

検索:「-execが0を返す」と「-printfのみを表示」

私が持っているもの:

/usr/bin/find /my_directory -type f -not -empty -name '*.log' -printf '%T@ %Tc %p\n' -exec grep 'text in file' {} \;

次の場所に空でないすべてのログファイルが表示されます/my_directory

1619942263.2701036230 Sun May  2 09:57:43 2021 /my_directory/abc.log
1619945861.8521817540 Sun May  2 10:57:41 2021 /my_directory/def.log

text in fileしかし - または同様のスタイルのファイルだけを取得したいと思います。

ベストアンサー1

-exec前に置く-printf

find /my_directory -type f -not -empty -name '*.log' -exec grep -q 'text in file' {} \; -printf '%T@ %Tc %p\n'

-execコマンドがゼロ以外の終了コードで終了すると、falseと評価され、後続の操作はスキップされます。

おすすめ記事