UNIX find:如何处理包含空格的路径

时间:2011-11-05 02:59:19

标签: shell unix path find

我有一行shell脚本:

rm -rf `find something`

问题是,如果find返回带空格的路径,rm当然会将空格解释为两个不同路径之间的分隔符,并且命令失败。

有没有办法告诉find在它返回的路径周围加上引号或其他什么来解决这个问题?

4 个答案:

答案 0 :(得分:4)

为了更安全,你可以使用

$ find start_dir -print0 -name something | xargs --null rm -rf

使用NUL(0)字符作为文件之间的分隔符。

答案 1 :(得分:1)

find something -exec rm {} \;但我有点担心......

答案 2 :(得分:0)

你可以这样做:

find start_dir -name something -print0 | xargs -0 /bin/rm -rf

答案 3 :(得分:0)

稍微快一点的方法(用你想要的任何条件替换“某事”):

find something -exec rm -rf {} +