前: Fast Full Name Search, 上: Name


2.1.4 シェルパターンマッチング

findlocateは,ファイル名やファイル名の一部を,シェルパ ターンと比較することが可能です.シェルパターン(hell pattern)は, 以下の特殊文字を含む文字列で,それはワイルドカード(wildcards)メタ文字(metacharacters)として知られています.

メタ文字を含むパターンを,シェルがそれ自身を展開することから避けるため 引用符で囲む必要があります.二重引用符とシングル引用符の両方が動作しま す.そのため,(それ自身は)バックスラッシュでエスケープします.

*
ゼロ以上の文字にマッチします.
?
あらゆる一文字にマッチします.
[string]
文字列stringに存在する,正確に一文字にマッチします.これは文 字集合(character class)と呼ばれます.短いものとして,stringには 範囲を含めることが可能で,それは間にダッシュがある二つの文字です.例え ば,集合`[a-z0-9_]'は小文字,数字,またはアンダースコアです. `!' や`^'を開括弧の前に配置することで,否定集合も可能です. このため,`[^A-Z@]'は大文字とアットマーク以外にマッチします.
\
それ以降の特殊文字の意味をなくします.これは文字集合でも動作します.

findがシェルのパターンマッチ(`-name',`-wholename'等) で行なうテストでは,パターンの中のワイルドカードはファイル名の最初の `.'にマッチしません.これはlocateではそうなりません.このた め,`find -name '*macs''は`locate '*macs''だけでなく .emacsにもマッチします.

スラッシュ文字は,findlocateが行なうシェルのパターンマッ チでは特殊な意味が無いので,ワイルドカードがそれにマッチしないシェルと は異なります.そのため,パターン`foo*bar'はファイル名 `foo3/bar'にマッチし,パターン`./sr*sc'はファイル名 `./src/misc'にマッチするはずです.

`locate'コマンドでファイルの場所を知りたいが,完全なリストを見る必 要は無い場合,ちょっとした数の結果を見る`--limit'オプションや,マッ チの総数だけを表示する`--count'オプションを使用することが可能です.