递归的进行grep
本博客所有文字均为原创
转摘请注明出处并给出原文链接
联系方式:ibolow@gmail.com|饭否|豆瓣|Twitter:@JoyLoft


递归的进行grep

1.以前用grep命令,有一点很麻烦。就是假如想递归的进行grep的时候,不能使用文件通配符。比如

grep -R?asdf *.cc

这样的命令是不行的,假如cc文件都在子目录中,而当前目录下一个都没有的话,便会提示找不到文件。于是只能这样

grep -R?asdf *

在一大堆结果中找啊找啊。

2.今天我终于受不了了,下了grep的代码打算改掉这个问题。看了五分钟我忽然想到,通配符的处理是shell来展开的,所以grep根本没办法自己来递归的过滤出*.cc,它甚至连*都看不到。

这时就想到,就算可以修改,也不该修改,因为这样破坏了linux的美。正确的用法应该这样。

find . -name *.cc | xargs grep asdf

3 每个命令只做一件事情,并且做好它。每个人只专注于一个方向,并且深入它。



Comments (2) left to “递归的进行grep”

  1. luguo wrote:

    find . -iname ‘*.cc’ -exec grep -nH ‘{}’ \;

    —-

    高手

  2. igh wrote:

    jkok

添加评论

(Never published)