【发布时间】:2012-05-21 13:56:11
【问题描述】:
我想知道我正在使用的命令中的语法错误是什么。
在当前目录中,我使用命令ls -l 来检索我目录中的文件权限。
我将如何进行查询以查看用户可读、可写和可执行的文件,然后使用 awk 打印过滤列表?
我知道我感兴趣的是第二个、第三个和第四个。
例如,
-rw-r----- .. .. .. ..
或
drw-r----- .. .. .. ..
我有一个awk命令如下:
ls -l | awk '{if{$1 == /.rwx....../}print "line"}'
我尝试了很多方法,但仍然存在语法错误。
非常感谢任何帮助!提前致谢!
【问题讨论】:
-
如果你的系统有
stat,你应该使用它而不是parsingls。此外,如果您的find支持它,请尝试find -perms u=rw -type f或其他权限,例如u=rwx、-g=x或/u=w,g=w。有关这些模式的含义的信息,请参阅man find。
标签: unix permissions awk