[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
このマニュアルは,指定した基準に合ったファイルを検索する方法と,見つけ
たファイルに様々なアクションを実行する方法を示します.これらの作業を実
行するために使用する主なプログラムは,find
,locate
,そし
てxargs
です.このマニュアルにある例は,これらのプログラムのGNUバー
ジョン特有の能力を使用します.
GNU find
は,元々Eric Deckerによって書かれ,David MacKenzie,Jay
Plett,そしてTim Woodによって拡張されました.GNU xargs
は,元々
Mike Rendellによって書かれ,David MacKenzieによって拡張されました.GNU
locate
とそれに関連するユーティリティは,元々James Woodsによって
書かれ,David MacKenzieよって拡張されました.‘find -print0’と
‘xargs -0’に関するアイデアは,Dan Bernsteinによります.GNU
findutils (とこのマニュアル)の現在の監理者はJames Youngman.です.その他,
多くの人がバグの修正,小さな改良,そして有益な提案を寄与してくれました.
どうもありがとう!
これらのプログラムに関するメールでの提案とバグの報告先は
bug-findutils@gnu.org
になります.‘find --version’を実行し
て得られるバージョンナンバーを含めてください.
1.1 スコープ | ||
1.2 概要 | ||
1.3 find の式 |
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
簡潔にするため,このマニュアル内の単語ファイル(file)は,通常のファ イル,ディレクトリ,シンボリックリンク,またはディレクトリエントリを持 つノードのようなその他のあらゆるものを意味します.ディレクトリエントリ はファイル名(file name)とも呼ばれます.ファイル名は,ファイルに前 置されるパス内のディレクトリを,いくつか含む,すべて含む,または全く含 まないかもしれません.このマニュアルで“ファイル名”と呼ばれるもののす べての例は以下のものです.
parser.c README ./budget/may-94.sc fred/.cshrc /usr/local/include/termcap.h |
ディレクトリツリー(file name)はディレクトリとそれが含むファイル, そのすべてのサブディレクトリとそれが含むファイル等です.それは,単一の ディレクトリではないファイルにすることも可能です.
これらのプログラムは,一つまたはそれ以上のディレクトリツリー内部の,以 下のようなファイルを見つけることを可能にします.
一旦,探しているファイル(または,探している可能性があるファイル)を見つ けると,単純なそれらの名前のリスト以上のものにすることが可能です.ファ イルを個別に,または様々な大きさのまとまりとして,属性のあらゆる組み合 わせを取得したり,多くの方法で処理したりすることが可能です.見つけたファ イル上で実行したい動作は,以下のことだけに制限されません.
このマニュアルでは,これらのそれぞれの作業を実行する方法と,それ以上の ものを記述しています.
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
与えられた基準にマッチするファイルのリストを作成し,その上でコマンドを
実行するために使用される主なプログラムは,find
,locate
,
そしてxargs
です.追加のコマンドはupdatedb
で,それは
locate
が使用するデータベースを作成するために,システム管理者が
使用します.
find
はディレクトリ階層内でファイルを検索し,見つかったファイルの
情報を出力します.以下のように実行します.
find [file…] [expression] |
ここに典型的なfind
の使用方法があります.この例では,
‘/usr/src’ をルートとしたディレクトリツリー内で,名前が‘.c’で
終り,100Kバイト以上の大きさを持つ,すべてのファイルの名前を出力します.
find /usr/src -name '*.c' -size +100k -print |
ワイルドカードは,シェルでの展開から守るため,確実に引用符で囲む必要が あることに注意してください.
locate
は,特別なファイル名のデータベースで,パターンにマッチする
ファイル名を探します.システム管理者は,データベースを作成するために
updatedb
を実行します.locate
は以下のように実行します.
locate [option…] pattern… |
この例は,デフォルトファイル名のデータベースで,名前が‘Makefile’ま
たは‘makefile’で終わる,すべてのファイルの名前を出力します.データ
ベースに保存されるファイル名は,システム管理者がupdatedb
を実行し
た方法に依存します.
locate '*[Mm]akefile' |
名前xargs
は,EX-argsと発音され,それは“引数を統合する”という意
味があります.xargs
は,標準入力から読み込む引数をかき集めてコマ
ンド行を構築し実行します.これらの引数は,find
で生成されるファイ
ル名のリストとなることが最も多くなっています.xargs
は,以下のよ
うに実行します.
xargs [option…] [command [initial-arguments]] |
以下のコマンドは,ファイル‘file-list’内にリストアップされているファ イルを検索し,単語‘typedef’を含むもののすべての行を出力します.
xargs grep typedef < file-list |
[ < ] | [ > ] | [ << ] | [上] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
find
の式ファイルを選択するためにfind
が使用する式は,一つまたはそれ以上の
プライマリ(primaries)から成り立ち,それらはそれぞれ分離した
find
へのコマンドライン引数です.find
はそのたびに式を評価
し,ファイルを処理します.式は以下のプライマリの形式のいずれかを含むこ
とが可能です.
特定のファイルの処理ではなく全体的な処理に影響を与えます.
ファイルの属性に依存し,真または偽の値を返します.
それらを評価するとき他の引数と連結し影響を与えます.
二つのプライマリの間のオペレータは省略可能です.そのデフォルトは ‘-and’です.プライマリをより複雑な式に連結する方法は, See section オペレータの主なものを組み合わせる. 式が‘-prune’以外のアク ションを含まない場合,全部の式が真になるすべてのファイルで, ‘-print’が動作します(see section ファイル名の出力).
式の中にオプションがあるとき,それぞれのファイルに対し評価されるのでは なく,すぐに影響を与えます.そのため,明確にするため,式の最初にそれら を配置するのが最善です.
プライマリの多くは引数をとり,それらはfind
への次のコマンドライン
引数の直後に続きます.引数は,ファイル名,パターン,またはその他の文字
列になるものもあります.それ以外は数字です.数字の引数は以下のように指
定することが可能です.
+n
nより大きい.
-n
nより小さい.
n
nに等しい.
[ << ] | [ >> ] | [冒頭] | [目次] | [見出し] | [ ? ] |
この文書は新堂 安孝によって2009年9月22日にtexi2html 1.82を用いて生成されました。