1、思路1:ll命令获取字母权限,然后转换成数字输出:
ll test.sh |cut -c1-10|tr "rwx-" "4210"|awk -F "" '{print $1+$2+$3$4+$5+$6$7+$8+$9}'
获取字母权限 转换数字 输出数字权限
2、思路2:stat命令直接输出带数字的权限,然后sed命令获取,采用()后向引用,注意转义
stat test.sh|sed -nr 's#^.*\(0(.*)\/-r.*$#\1#gp'
3、思路3:stat awk命令设定分隔符输出
stat test.sh|awk -F "[0/]" 'NR==4 {print $2}'
4、思路4:直接用stat命令输出
stat -c %a test.sh