很多時候我需要從一個目錄和下面搜索所有具有特定類型的文件中的模式。例如,我需要問grep不要查看* .h,* .cpp或* .c以外的文件。但如果我輸入:需要組合grep和find的別名
grep -r pattern .
它會查看所有文件。如果我輸入:
grep -r pattern *.c
它會嘗試(在我的情況下,沒有文件夾)在當前文件夾中的* .c文件(在我的情況下,沒有文件),文件中的* .c文件夾。我想問它也查看所有文件夾,但只能查看給定類型的文件。我認爲grep不足以用於此目的。所以,我也可以通過查找來獲得幫助,例如:
grep pattern `find . -name '*c'`
首先,讓我知道我是否正確地從尋找中獲得幫助。可以grep夠了嗎?其次,我喜歡寫一個別名像這樣使用bash下
mygrep pattern c
被翻譯成相同的命令避免'和'使用和簡單。我想:
alias mygrep="grep $1 `find . -name '*$2'`"
但它不工作,併發出錯誤:
grep: c: No such file or directory
我試圖改變它,但我不能成功,一個成功的別名。
有什麼想法?
只搜索特定的文件類型'grep -r --include ='* .c''pattern'' ..還有其他選項,像'--exclude'和' - -exclude-dir' ..在任何情況下,如回答,使用函數代替別名 – Sundeep