ファイルの検索

ファイル検索には find コマンドを用いる.ディレクトリ foo 以下に存在するファイル bar.txt を検索したいとときは以下のようにする.ディストリビューションによっては,検索結果を画面に表示させるために -print を入力しなければならない場合もある.

1|$find ./foo -name bar.txt
./foo/baz/qux/bar.txt

正規表現と組み合わせると便利に検索できる.カレントディレクトリ以下において,拡張子が .txt であるファイルをすべて検索したい場合は以下のようにする.

1|$find ./ -name "*\.txt"
./foo/bar/letter.txt
./foo/bar/baz/roc_value.txt
./foo/bar/baz/qux/result.txt
...
...
...

空のファイル (容量が0のファイル) を検索し,それらを削除するには以下のようにする.

1|$find ./ -empty |xargs rm

空のファイルを検索の対象から除外するには以下のように打つ.

1|$find ./ -name "\.txt" -not -empty

拡張子が .xml のファイルを検索し,それをディレクトリ bar にコピーさせるには以下のように打つ.

1|$find ./ -name "*.xml" |xargs cp -t bar/

オプションに以下のようなものがある.

OptionDescription
-maxdepth n検索する階層の深さをn階層までに指定.
-type TYPE検索するファイルのタイプを指定.TYPE にはファイル f やディレクトリ d が入る.
-empty空のファイルを検索.
このエントリーをはてなブックマークに追加

Site search

ページのトップへ戻る