你能帮我解决代码问题吗?它必须删除树中的每个文件
function option_c {
for i in `find "$TEST_DIR" -type f | grep -E "(stdout|stderr|status)-(captured|delta)"` ; do
if [ -w $i ] ; then
rm $i
fi
exit 0
done
}
感谢您的帮助。
答案 0 :(得分:3)
取出exit
,它会在第一个文件后终止你的脚本。
但是,您可以使用find
本身完成所有这些操作。
答案 1 :(得分:1)
正如三人提到的,你可以找到所有人:
find "$TEST_DIR" -type f -perm +0200 -regextype posix-awk -regex ".*st(dout|derr|atus)-(captured|delta).*" -delete
或
find "$TEST_DIR" -type f -perm +0200 -regex ".*st\(dout\|derr\|atus\)-\(captured\|delta\).*" -delete
<击> 撞击>
<击>find "$TEST_DIR" -type f -perm +0200 -exec egrep "(stdout|stderr|status)-(captured|delta)" {} ";" -delete
击> <击> 撞击>
(至少gnu-find,这就是我所拥有的,具有-delete开关和正则表达式选项)。