2016-11-15 82 views
0

我試圖創建一個bash命令,它使用grep來搜索指定目錄中的參數。我將如何做到這一點。目前它只搜索當前目錄。我曾嘗試以下,但它不工作:如何獲取grep命令來搜索指定的目錄?

ls $directoryName -l | grep "$1" 
+1

在最簡單的情況下,例如:'grep「$ 1」「$ directoryName/*」'。爲了獲得更大的靈活性,您可能需要考慮:查找$ directoryName「-type f -exec grep」$ 1「{} +'。 – bishop

+0

你試過'grep -r $ 1 $目錄嗎? ('-r'使grep遞歸) –

+0

@NimaGhotbi很好,每當我這樣做給我錯誤。第4行:/ a/directory:是一個目錄。 – pogba123

回答

0

我敢肯定有一個更好的辦法不這樣做,但

ls -lah $directoryName > /usr/tmp/test 
grep $1 /usr/tmp/test 
rm /usr/tmp/test 

編輯:您可能必須使用find但更好的運氣。

find $directoryName -name $1

0

工作例如: 的grep -e 「執行」 的/ usr /共享/應用/ *

0

下面的例子將遞歸搜索(包括子文件夾和隱藏文件)的參數或文字方式的圖案(它將搜索「$ 1」從字面上看,不允許替換):

grep -re '$1' /folder/folder 

現在,如果你要搜索的參數的值,然後在下面的代碼將允許替換和d o:

grep -re "$1" /folder/folder 
相關問題