循环浏览目录,并在unix中对具有特定权限的文件执行操作



我想循环浏览一个目录,该目录包含许多隐藏文件的子目录。我想循环目录并只打开具有某些权限的文件,";drwx------T+";在这种情况下。

我当前的脚本是

#!/bin/sh
cd /z/vendors  #vendors has a list of directories which contain hidden files
for FILE in *; do
if [ <what should i put here to select files with permission "drwx-----T+">]; then
cd "$FILE" #and do something here e.g open the hidden files
cd ..
fi
done

我不知道该使用什么测试条件,我知道命令ls -l | grep "drwx-----T+"会列出我需要的文件,但我如何将其包含在if测试中

grep的退出状态指示输入是否与模式匹配。因此可以将其用作if中的条件。

if ls -ld "$FILE" | grep -q -F 'drwx-----T+'; then
# do what you want
fi

-q选项阻止grep打印匹配项,-F使其与固定字符串匹配,而不是将其视为正则表达式(+在regexp中具有特殊含义(。

最新更新