Unix Power Tools第3版175ページから:
セクション 9.27 では、ディレクトリの中間パスを一致させる方法を示します。以下は非常に便利な、より簡単な「ファイルを探す」エイリアスです。
alias ff "find . -name '*\!{*}*' -ls"
ファイルまたはディレクトリ名を指定すると、エイリアスはその引数を含むファイルまたはディレクトリ名の長いリストを提供します。
(これも利用可能なオンライン.)
-name
私はオペレータの主張を全く理解していません。これはスペルエラーですか?特定のバージョンでのみ機能しますfind
か?バックスラッシュ、中括弧、中括弧は何をしますか?
答え1
これはcsh
エイリアスです。与えられた引数は、-name
インタプリタではなくシェルによって解釈されますfind
。私が正しく理解した場合は、与えられた\!{*}
引数に置き換えられますff
(通常は\!*
)。この本がシェルを指定しないことは本当に奇妙です。
デフォルトでエイリアスを定義するには、次のように入力します。
ff test
走る
find . -name '*test*' -ls
(そして複数の引数を正常に処理しません)。
この本の第2版では、テキストは質問に提供されたのと同じ方法でエイリアスを定義し、csh_init
付属のCDのとを指します。sh_init
(これはセクション17.04です。)興味深いことに、csh_init
CDにはエイリアスは定義されていませんが、sh_init
同等の機能は次のとおりですff
。
ff() { find . -name "*$1*" -ls; }