os x 下怎么把 find 的结果用引号包含起来,然后给其他的命令去处理?

os x 下怎么把find的结果用引号包含起来,然后给其他的命令去处理?

find . -name "*.m" |  xargs  -n 10 grep -inrE "#define.*http"   > x.txt

思路是这样的:

  • 首先查找到所有.后缀的文件,

  • 然后每次取出10条文件,从文件中查找正则表达式.

  • 最后,将结果重定向到文件中..

但是,这样有一个问题就是,当路径中包含了一个空格的时候,就找不到路径了.

所以,想将find的结果集合中的每一条路径使用引号包起来.

我该怎么做?

阅读 6.3k
2 个回答

find加上参数 -print0
xargs加上参数-0

你可以在这两个命令的man手册中找到答案

问题已经解决.

最后的命令

find . -name "*.m"  -print0 |  xargs  -n 10 -0 grep -inrE "#define.*http"   > x.txt
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏