2013-01-21 27 views
3

我使用的是Ubuntu 12。 我試圖在我的Ubuntu機器主目錄中搜索「SymbolSetThree」這個詞。Linux:在所有文件中搜索特定字

爲此,我使用

grep "SymbolSetThree" /home 

它只是顯示爲grep的:/家庭:是一個目錄

請讓我知道如何在所有文件中搜索一個特定的詞Linux?

這就是我想

[email protected]:/$ grep "SymbolSetThree" /home 
grep: /home: Is a directory 

回答

3

使用`發現:

find /home -type f | xargs grep SymbolSetThree 

同樣的結果可以通過使用-exec參數find(而不是xargs)來實現。

+0

這是我在Linux中工作時感到困惑的。沒有用於放置參數/選項/位置(路徑)的標準格式。很難記住當位置出現在選項之前等等。雖然我也時常使用這個find命令,但爲什麼當grep -r在一個步驟中實現相同的事情並且不太詳細並且用於搜索文件時,會使用這個命令? – killjoy

4

你接近,你只需要-r開關有你的命令正常工作。

grep -r "SymbolSetThree" /home 

將做的伎倆。

1

對於這種任務,我真的很喜歡ACK-的grep的,是面向程序員(只有源文件的.py .RB .C .SH),但-a它看起來對所有類型的文件。

ack-grep -a "SymbolSetThree" 
+1

程序的名稱是「ack」,而不是「ack-grep」,儘管有許多打包商由於命名衝突而將其稱爲「ack-grep」。 ack主頁在http://betterthangrep.com/ –

+1

那麼,在Ubuntu中,OP運行的是ack-grep,因爲與另一個ack(漢字代碼轉換器)的名稱衝突。我總是將一個別名定義爲可用性。 –

+1

嘿,只是做了一個 - 翻譯,似乎你是作者,謝謝@AndyLester,真的很好的工具。 –

相關問題