任何人都可以编写一个shell脚本来删除文件夹中除pdf
个扩展名之外的所有文件吗?
答案 0 :(得分:14)
这将包括所有子目录:
find . -type f ! -iname '*.pdf' -delete
这只会在当前目录中起作用:
find . -maxdepth 1 -type f ! -iname '*.pdf' -delete
答案 1 :(得分:6)
$ ls -1 | grep -v '.pdf$' | xargs -I {} rm -i {}
或者,如果您有信心:
$ ls -1 | grep -v '.pdf$' | xargs -I {} rm {}
或者,防弹版本:
$ find . -maxdepth 1 -type f ! -iname '*.pdf' -delete
答案 2 :(得分:5)
这应该可以解决问题:
shopt -s extglob
rm !(*.pdf)
答案 3 :(得分:-1)
ls | grep -v '.pdf$' | xargs rm
这将过滤所有不以PDF结尾的文件,并对其执行RM