我想删除某个目录中的某个文件但是'.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/.'
请告诉我这些命令有什么问题 谢谢!
答案 0 :(得分:0)
您可以逐个文件删除,以避免删除整个目录,从而实现不删除.gitignore
试试这个:
find ./web/assets/* -type f ! -name '.gitignore' -exec rm {} \;
答案 1 :(得分:0)
试试这个(对于文件):
[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 {} \;
注意:最好先使用临时目录测试命令,然后运行主命令。