find
有沒有類似ag
and 的替代方案ack
?
我真的厭倦了必須輸入:
find some/app -iname "some_file*"
我寧願只是輸入:
find "some_file*"
並讓它搜尋當前資料夾並在所有子資料夾中遞歸搜尋。
答案1
這就是函數或腳本的用途。例如
myfind() {
search="$1"
shift
find . -iname "$search" "$@"
}
"$@"
如果需要,最後還允許您指定其他查找選項。但請注意,find
某些選項的順序非常挑剔,某些選項只有在路徑之前才有效(.
在本例中)。
有些人會find
抱怨他們在一場沒有選擇的爭論之後。
例如find . -iname "*.txt" -maxdepth 1
引起以下抱怨:
find: 警告:您在非選項參數 -iname 之後指定了 -maxdepth 選項,但選項不是位置性的(-maxdepth 影響在其之前指定的測試以及在其之後指定的測試)。請在其他參數之前指定選項。
AFAIK,沒有選項可以關閉這些警告......或者如果有的話,它不會被稱為--quiet
或--silent
。
無論如何,將上面的函數保存在一個文本文件中,例如myfind.txt
.然後使用以下命令獲取它:
. myfind.txt
。
如果您希望在每次登入時定義它,請將函數定義新增至您的~/.profile
或~/.bash_profile
,或來自myfind.txt
它們的來源。
這假設您使用的是 Bourne shell,例如sh
或bash
。請注意,某些版本可能需要在前面sh
加上關鍵字- 例如。如果您正在使用or ,那麼...好吧...不要,切換到 Bourne shell。function
myfind
function myfind() { ... }
csh
tcsh