これで、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
これらのシステムでは機能します。この問題の詳細については、こちらをご覧ください。ここ。