【发布时间】:2016-03-09 22:36:29
【问题描述】:
我正在尝试遍历一个目录并确保它不是任何文件的所有者的根目录。使用 awk,我遇到了一个问题,即将字段与字符串进行比较不会产生准确的结果。
ls -d -l /path/to/file/**/* | awk '{ if ( "$3" == "root" ); print "File has wrong permissions: " $9;}'
生成的是文件列表,当仔细检查时,其所有者和组都不是root。
-rw-rw-r-- 1 foobar foobar 78828 Dec 4 11:15 /p/t/f/xyz/abc.jpg
理想情况下,最终结果应该是这样的:
ls -d -l /path/to/file/**/* | awk '{ if ("$3" != "deploy" || "$4" != "deploy") [...]
怎么了?
谢谢。
【问题讨论】:
-
awk 不像 shell:用
$3 != "deploy"替换"$3" != "deploy"