およびfind
に類似したものに代わるものはありますか?ag
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 は、その前に指定されたテストと、その後に指定されたテストの両方に影響します)。他の引数の前にオプションを指定してください。
私の知る限り、これらの警告をオフにするオプションはありません...または、あったとしても、またはと呼ばれませ--quiet
ん--silent
。
とにかく、上記の関数をテキスト ファイルに保存します (例: ) myfind.txt
。次に、次のようにソースします。
. myfind.txt
。
ログインごとに定義したい場合は、関数定義を または~/.profile
、~/.bash_profile
またはmyfind.txt
のソースに追加します。
sh
これは、または のような Bourne シェルを使用していることを前提としています。bash
の一部のバージョンでは、 の前にsh
キーワードが必要な場合があることに注意してください(例: ) 。または を使用している場合は、Bourne シェルに切り替えてください。function
myfind
function myfind() { ... }
csh
tcsh