find | grep keyword コマンドの後にファイルの時間情報を取得するにはどうすればよいですか?

find | grep keyword コマンドの後にファイルの時間情報を取得するにはどうすればよいですか?

これで、find | grep キーワードを使用して必要なファイルを取得する方法がわかりました。

しかし、その後、見つかった各ファイルのサイズや create_time 情報をどのように知ればよいのでしょうか?

たとえば、find | grep チュートリアルの後、次の結果が得られました。

./lab/zengjuchen/tutorial
./lab/zengjuchen/tutorial/tutorial

作成時間とサイズをどのように確認すればよいでしょうか?

答え1

findと を一緒に使用するのは間違いですgrep。はfind、ファイルをフィルタリングする機能を完全に備えています。 は必要ありませんgrep。実際、このようにファイル名を並べ替えることはお勧めしません。

代わりに次の操作を行ってください:

find -name '*tutorial*' -exec <some-command> {} \;

ここで、<some-command>見つかったファイルごとに が実行され、その名前が に置き換えられます{}。たとえば、ファイル サイズを取得するには、次のようにします。

find -name '*tutorial*' -exec du {} \;

\+の代わりにを使用すると、指定されたコマンドが複数のファイル引数の受け渡しをサポートしている場合、すべてのファイルに対して一度にコマンドが実行\;されますfind。これにより、プロセスが高速化されます。


または、Bash で実行することもできます。

shopt -s globstar
du **/*tutorial*

ここでは、**すべてのディレクトリを再帰的に走査します。


作成時間については、従来は保存されません。最終アクセス、変更、ステータス変更時間のみが表示されます。詳細については、statなどのファイル システムでは、ext4作成時刻が「誕生時刻」として保存されます。したがって、stat -c %wこれらのシステムでは機能します。この問題の詳細については、こちらをご覧ください。ここ

関連情報