各ユーザー/グループの組み合わせに対してどのくらいのファイルがあるかを計算する方法は?

各ユーザー/グループの組み合わせに対してどのくらいのファイルがあるかを計算する方法は?

各ユーザー/グループの組み合わせに対してどのくらいのファイルがあるかを計算する方法は?すべてのディレクトリツリー/ etc、/ usr、および/ varに存在するすべてのユーザー/グループの組み合わせに対してこれを行う必要があります。

ベストアンサー1

find . -type f -printf %u:%g\\n | awk '{usergroup[$0]++}; END {for(key in usergroup) printf "%-20s %d\n",key,usergroup[key]}'
hl:hauke             401
hl:1003              10
root:root            1

find各ファイルにこのような行を印刷しますusername:groupname

awk発生回数を計算するには、連想配列を使用します。各行に対して、行の内容と呼ばれる変数が増えます。

最後の行を読んだ後、awk配列のキーと値を印刷します。

おすすめ記事