前: Dired Updating, 上: Dired


26.15 diredとfindプログラム

findプログラムを使ってファイルを選べば、 diredバッファ上に表示する一連のファイルをもっと柔軟に選択できます。

ワイルドカードに一致する名前のファイルを探索するには M-x find-name-diredを使います。 このコマンドは、2つの引数directorypatternを読み取り、 directoryにあるすべてのファイル、 あるいは、そのサブディレクトリ下にあるpatternに一致する名前のファイルを 選択します。

このようにして選択されたファイルはdiredバッファに表示され、 このバッファではもとのdiredコマンドを使えます。

ファイル名ではなくファイルの内容で調べたい場合には、 M-x find-grep-diredを使います。 このコマンドはミニバッファから2つの引数directoryregexpを 読み取ります。 directoryにあるすべてのファイル、 あるいは、regexpに一致するものを含む一連のサブディレクトリを選択します。 このコマンドは、プログラムfindgrepを実行して動作します。 CompilationM-x grep-findも参照してください。 Emacsの正規表現ではなくgrepの正規表現を書くことを忘れないでください。

このような一連のコマンドの中でもっとも一般的なコマンドはM-x find-diredで、 findが検査に用いる任意の条件を指定できます。 このコマンドはミニバッファから2つの引数directoryfind-argsを 読み取ります。 検査すべき条件を指示するfind-argsを渡して、 directoryにおいてfindを実行します。 このコマンドを使うには、findの使い方を知っている必要があります。

これらのコマンドが出力する表示形式は変数find-ls-optionで 制御されます。 デフォルトは、lsに使うオプションとして`-ld'を指定します。 出力形式が壊れて見える場合には、 この変数の値を変更する必要があるかもしれません。