web-dev-qa-db-ja.com

lsを実行するか、それを見つけてstatを介してパイプすることは可能ですか?

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' {} +
6
lettda

stat-execアクションでfindを使用します。

find .content/media/ -type f -exec stat -c '%n : %U : %G : %s' {} +

必要に応じて、statのフォーマットシーケンスを変更します。

13
heemayl

GNU findがある場合、-printfを使用できます。

find content/media/ -type f -printf '%p : %u : %g : %k'
12
jordanm

xargsをミックスに投入します。例えば。:

ls | xargs stat

単純なBash for- loopの何が問題になっていますか?

for f in ./*
do
    stat "$f"
done

引用符と./接頭辞。これは最悪のファイル名に対して安全です。

3
Martin Ueding
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.
0
A Yashpal