【发布时间】:2016-08-07 02:57:11
【问题描述】:
这是我目前所拥有的,它可以工作,但会引发错误,我不确定为什么:
$ find . -mindepth 1 -type d '!' -exec sh -c 'ls -1 "{}" | egrep -i -q "\.(mp4|avi|mkv)"' \; -print -exec rm -r {} \;
./test
find: `./test': No such file or directory
【问题讨论】:
-
我建议您在使用自动文件删除功能时要非常小心。首先,尝试只打印文件名,然后,在完全测试后,添加 rm 命令。
-
您是否期望完整的管道是
-execd 以获取{}的值?我认为这是不对的。我会将所有这些代码放入一个 shell 脚本并使用find ... | xargs ./myShellscript.sh。在运行之前测试、测试、测试!只要让它回显rmcmds,一旦它们看起来正确,就可以将它们传送到\| bash。祝你好运。