我想删除目录中的一些文件,但是“.gitignore”文件,我尝试了这个命令,但是得到一个错误
[vagrant@lw2 lw2]$ find ./web/assets/* ! -name '.gitignore' | xargs rm -rf
find: `./web/assets/*': No such file or directory
我用“.”字符再试一次,但出现另一个错误:
[vagrant@lw2 lw2]$ find ./web/assets/. ! -name '.gitignore' | xargs rm -rf
rm: cannot remove directory: `./web/assets/.'
请告诉我这些命令有什么问题
谢谢您!
最佳答案
尝试此操作(对于文件):
[vagrant@lw2 lw2]$ find /full/path/to/directory/ -type f ! -iname ".gitignore" -exec rm -fv {} \;
或者这个(对于目录):
[vagrant@lw2 lw2]$ find /full/path/to/directory/ -type d ! -iname ".gitignore" -exec rm -fv {} \;
注意:最好先使用临时目录测试命令,然后运行main命令。
关于linux - 用排除文件删除bash中的文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36564310/