linux - 使用 Cut 修剪一串文件权限

标签 linux bash awk grep cut

我正在尝试从权限字符串中删除组和所有用户部分。比如 -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/

相关文章:

bash - 在bash中将当前日期增加5分钟

regex - 在 Bash 中递归更改文件扩展名

linux - 无法在 awk 命令的固定搜索中使用 unix $variable

linux - 比较两个文件并打印不匹配的行

linux - 如何将自动制作文件写入递归构建子目录?

linux - 如何使用 bash 粘贴来自不同文件的列?

c - TCP 使用多播仅用于初始化

linux - 在 bash 中创建临时文件

linux - 什么是最快的 egrep

linux - `missing-syscalls' 内核编译时出错