尋找的速記替代方案

尋找的速記替代方案

find有沒有類似agand 的替代方案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,例如shbash。請注意,某些版本可能需要在前面sh加上關鍵字- 例如。如果您正在使用or ,那麼...好吧...不要,切換到 Bourne shell。functionmyfindfunction myfind() { ... }cshtcsh

相關內容