Bash 处理由backtick命令产生的带有空格的路径
正在尝试从我的目录树中删除某些文件夹Bash 处理由backtick命令产生的带有空格的路径,bash,unix,Bash,Unix,正在尝试从我的目录树中删除某些文件夹 rm -r `find -name .sbas` 对于某些文件夹,它会失败,如下所示: rm: cannot remove ‘./Reports/Report’: No such file or directory rm: cannot remove ‘11/.sbas’: No such file or directory 文件夹路径中的空白使命令误以为它得到了两条不同的路径 最好的处理方法是什么?从文件夹名称中删除空白不是一个选项。不要像这样使用rm
rm -r `find -name .sbas`
对于某些文件夹,它会失败,如下所示:
rm: cannot remove ‘./Reports/Report’: No such file or directory
rm: cannot remove ‘11/.sbas’: No such file or directory
文件夹路径中的空白使命令误以为它得到了两条不同的路径
最好的处理方法是什么?从文件夹名称中删除空白不是一个选项。不要像这样使用
rm
中的find
输出
使用查找-删除:
find . -name .sbas -delete
或者在find
不支持delete
的系统上使用:
find . -name .sbas -exec rm -r '{}' \;
这种操作相当危险。你应该非常小心。当你这么做的时候,很多东西都会坏得很厉害。您注意到的空间-但是有一些文件名也可能会做一些可怕的事情。谢谢您的注意。我知道这很危险,但我尝试了find | rm
,但没有成功,所以这是我唯一知道的方法。幸运的是我知道一个更好的方法。