Lsまたはfindを実行してディレクトリ内のファイルのリストを取得し、statを実行してすべての特定の情報(ファイルグループ、ファイル名、ファイル所有者、ファイルサイズ(K、Mなどで表示)を取得する方法はありますか? 。)&パーミッション?私は次のように何かを試みていました:
find .content/media -type f | stat
ls -l .content/media | stat
回答:
find ./content/"subdirectory name"/ -type f -exec stat -c '%n : %U : %A : %G : %s' {} +
stat
の-exec
アクションでfind
を使用します。
find .content/media/ -type f -exec stat -c '%n : %U : %G : %s' {} +
必要に応じて、stat
のフォーマットシーケンスを変更します。
GNU findがある場合、-printf
を使用できます。
find content/media/ -type f -printf '%p : %u : %g : %k'
xargs
をミックスに投入します。例えば。:
ls | xargs stat
単純なBash for
- loopの何が問題になっていますか?
for f in ./*
do
stat "$f"
done
引用符と./
接頭辞。これは最悪のファイル名に対して安全です。
find .content/media -type f -exec stat -c '%n : %U : %G : %s : %x : %y : %z' {} +
%n File name,
%U User name of owner,
%G Group name of owner,
%s Total size, in bytes,
%x Time of last access,
%y Time of last modification,
%z Time of last change.