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
,但没有成功,所以这是我唯一知道的方法。幸运的是我知道一个更好的方法。