我試圖創建一個bash
命令,它使用grep
來搜索指定目錄中的參數。我將如何做到這一點。目前它只搜索當前目錄。我曾嘗試以下,但它不工作:如何獲取grep命令來搜索指定的目錄?
ls $directoryName -l | grep "$1"
我試圖創建一個bash
命令,它使用grep
來搜索指定目錄中的參數。我將如何做到這一點。目前它只搜索當前目錄。我曾嘗試以下,但它不工作:如何獲取grep命令來搜索指定的目錄?
ls $directoryName -l | grep "$1"
我敢肯定有一個更好的辦法不這樣做,但
ls -lah $directoryName > /usr/tmp/test
grep $1 /usr/tmp/test
rm /usr/tmp/test
編輯:您可能必須使用find
但更好的運氣。
find $directoryName -name $1
工作例如: 的grep -e 「執行」 的/ usr /共享/應用/ *
下面的例子將遞歸搜索(包括子文件夾和隱藏文件)的參數或文字方式的圖案(它將搜索「$ 1」從字面上看,不允許替換):
grep -re '$1' /folder/folder
現在,如果你要搜索的參數的值,然後在下面的代碼將允許替換和d o:
grep -re "$1" /folder/folder
在最簡單的情況下,例如:'grep「$ 1」「$ directoryName/*」'。爲了獲得更大的靈活性,您可能需要考慮:查找$ directoryName「-type f -exec grep」$ 1「{} +'。 – bishop
你試過'grep -r $ 1 $目錄嗎? ('-r'使grep遞歸) –
@NimaGhotbi很好,每當我這樣做給我錯誤。第4行:/ a/directory:是一個目錄。 – pogba123