Linux脚本,用于查找与文件权限相关的所需输出

时间:2015-10-28 02:48:21

标签: linux shell scripting

ls -alR | awk '{k=0; for(i=0;i<=8;i++) k+=((substr($1, i+2, 1)~/[rwx]/)*2^(8-i)); if(k)printf("%o", k); print}' | cut -c 1-3 | sort -n | uniq -c | cut -d " " -f 6-8

输出:

 1 .:
./.
 1 ./b
 2 ./D
 1 ./M
 2 ./o
 1 ./P
 1 ./T
tot
 1 ./V
 1 1./
 1 4./
 2 10.
 1 40.
 2 500

20 640
644

700
78 755
 3 764
77 775
 6 777

所需输出:仅按文件权限分组的文件数。 e.g。

2 774
3 664

1 个答案:

答案 0 :(得分:0)

find /path/to/dir -printf '%m\n' | sort | uniq -c

%m代表-printf格式的文件权限。 \n代表换行符。