Answers:
如果文件名包含空格,则应使用
locate -0 $something | xargs -0 rm
-0
,--null
使用ASCII NUL字符分隔输出上的条目,而不是将每个条目写在单独的行上。此选项旨在与GNU xargs(1)的--null选项实现互操作性。
要么
locate $something | while read f; do rm "$f"; done
另外,您应*.orig
使用引号进行保护,以避免外壳扩展,并将其传递给未触及的位置。
| while read
因为我的主目录中充满了带空格的文件。
*.orig
,则shell会将pattern扩展为file1.orig file2.orig ...
,从而locate
不会看到确切的字符串*.orig
。
tr '\n' '\0'
。