Answers:
ls * | grep -v dont_delete_this_file | xargs rm -rf
范例:
mkdir test && cd test
touch test1
touch test2
touch test3
touch test4
touch test5
要删除除“ test2”以外的所有文件:
ls * | grep -v test2 | xargs rm -rf
然后“ ls”输出为:
test2
编辑:
感谢您的评论。如果目录包含一些带有空格的文件:
mkdir test && cd test
touch "test 1"
touch "test 2"
touch "test 3"
touch "test 4"
touch "test 5"
您可以使用(与bash一起使用):
rm !("test 1"|"test 4")
'ls'输出:
test 1
test 4
ls -1 | grep -v do_not_delete | xargs -I files rm "files"