Linux:在所有文件中搜索特定单词
我正在使用Ubuntu12。 我试图在我的Ubuntu机器主目录中搜索单词“SymbolSetThree” 为此我用了Linux:在所有文件中搜索特定单词,linux,grep,Linux,Grep,我正在使用Ubuntu12。 我试图在我的Ubuntu机器主目录中搜索单词“SymbolSetThree” 为此我用了 grep "SymbolSetThree" /home 它只显示为grep:/home:是一个目录 请告诉我如何在Linux中的所有文件中搜索特定单词??? 这就是我试过的 sai@sai-Aspire-4720Z:/$ grep "SymbolSetThree" /home grep: /home: Is a directory 使用`查找: find /home -
grep "SymbolSetThree" /home
它只显示为grep:/home:是一个目录
请告诉我如何在Linux中的所有文件中搜索特定单词???
这就是我试过的
sai@sai-Aspire-4720Z:/$ grep "SymbolSetThree" /home
grep: /home: Is a directory
使用`查找:
find /home -type f | xargs grep SymbolSetThree
通过使用
-exec
参数来查找(而不是xargs
)也可以获得相同的结果。您很接近,只需使用-r
开关即可使命令正常工作
grep -r "SymbolSetThree" /home
这就可以了。对于这类任务,我非常喜欢ack-grep,它是面向程序员的(只支持源文件.py.rb.c.sh),但它使用-a查找所有类型的文件
ack-grep -a "SymbolSetThree"
程序的名称是“ack”,而不是“ack grep”,尽管由于命名冲突,有许多打包程序称之为“ack grep”。在Ubuntu中,由于与另一个ack(汉字代码转换器)的名称冲突,OP运行的是ack grep。我总是为ack定义一个别名以提高可用性。嘿,刚刚做了一个ack版本,看起来你是作者,谢谢@AndyLester,这是一个非常好的工具。这是我在Linux中工作时感到困惑的地方。没有用于放置参数/选项/位置(路径)的标准格式。很难记住什么时候位置在选项之前,等等。虽然我有时也会使用这个find命令,但是当grep-r在一个步骤中实现了同样的事情,并且不太冗长,并且是用来搜索文件时,为什么要使用这个命令呢?