我正在尝试从权限字符串中删除组和所有用户部分。比如 -rwxr-xr-x
我希望它是 -rwx
然后去掉前导破折号使它成为 rwx
现在我通过以下代码获取权限字符串:filePerms=$(stat --format=%A $path)
其中 $path
只是一个文件的任何目录。
这里我尝试使用 cut 来摆脱第 4 个字符和 filePermsTest=$(cut -c1- $filePerms)
但是我得到这个错误:
cut: invalid option -- 'r'
Try 'cut --help' for more information.
59M 2014-03-21 19:25 -rw-r--r-- ./old/VMwareTools-9.6.2-1688356.tar.gz
这是我尝试使用的 cut
命令的一部分:N- 从第 N 个字节、字符或字段到行尾
引用这里是我的代码的正常输出(这与问题没有太大关系。它只是给你一个引用,了解发生了什么以及如何使用它) :
Size Date Time Permissions File
--------------------------------------------------------
59M 2014-03-21 19:25 -rw-r--r-- ./old/VMwareTools-9.6.2-1688356.tar.gz
9.2M 2014-03-21 19:24 -rw-r--r-- ./old/vmware-tools-distrib/lib/icu/icudt44l.dat
7.6M 2013-07-07 21:21 -rwxr-xr-x ./old/Sublime Text 2/sublime_text
4.8M 2014-08-26 23:51 -rwxrwxr-x ./old/sublime_text_3/sublime_text
我认为以某种方式将权限字符串的一部分作为参数接受。
最佳答案
试试 stat --format=%A filename |剪切-c 2-4
。
这会挑选出第二到第四个字符,也就是您想要的字符。
关于linux - 使用 Cut 修剪一串文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26953887/