用于查找与文件权限相关的所需输出的Linux脚本
所需输出:仅按文件权限分组的文件计数。 e、 g用于查找与文件权限相关的所需输出的Linux脚本,linux,shell,scripting,Linux,Shell,Scripting,所需输出:仅按文件权限分组的文件计数。 e、 g %m代表-printf格式的文件权限\n代表换行符 %m代表-printf格式的文件权限\n代表换行符。请参见[ParsingLs](mywiki.wooledge.org/ParsingLs)了解为什么这样做是个坏主意。然后,或许可以尝试使用类似于find的方法-printf%m\\n | sort | uniq-c?您可以在shell中的单个带引号的字符串中包含换行符,并且在awk脚本中添加一些换行符会使我们更容易理解。请参阅[Parsing
%m
代表-printf
格式的文件权限\n
代表换行符
%m
代表-printf
格式的文件权限\n
代表换行符。请参见[ParsingLs](mywiki.wooledge.org/ParsingLs)了解为什么这样做是个坏主意。然后,或许可以尝试使用类似于find的方法-printf%m\\n | sort | uniq-c
?您可以在shell中的单个带引号的字符串中包含换行符,并且在awk脚本中添加一些换行符会使我们更容易理解。请参阅[ParsingLs](mywiki.wooledge.org/ParsingLs)了解为什么这样做不好。然后,或许可以尝试使用类似于find的方法-printf%m\\n | sort | uniq-c
?您可以在shell中的单个带引号的字符串中包含换行符,在awk脚本中添加一些换行符将使我们更容易理解。
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
2 774
3 664
find /path/to/dir -printf '%m\n' | sort | uniq -c