OSDN Git Service

Retire LDP man-pages repository
[linuxjm/LDP_man-pages.git] / draft / man7 / glob.7
diff --git a/draft/man7/glob.7 b/draft/man7/glob.7
deleted file mode 100644 (file)
index 3a3a67a..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-.\" Copyright (c) 1998 Andries Brouwer
-.\"
-.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
-.\" This is free documentation; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" The GNU General Public License's references to "object code"
-.\" and "executables" are to be interpreted as the output of any
-.\" document formatting or typesetting system, including
-.\" intermediate and printed output.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, see
-.\" <http://www.gnu.org/licenses/>.
-.\" %%%LICENSE_END
-.\"
-.\" 2003-08-24 fix for / by John Kristoff + joey
-.\"
-.\"*******************************************************************
-.\"
-.\" This file was generated with po4a. Translate the source file.
-.\"
-.\"*******************************************************************
-.\"
-.\" Japanese Version Copyright (c) 1998 NAKANO Takeo all rights reserved.
-.\" Translated Wed 12 Aug 1998 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated 2003-09-28 by NAKANO Takeo
-.\" Updated 2012-05-06, Akihiro MOTOKI <amotoki@gmail.com>
-.\"
-.TH GLOB 7 2012\-07\-28 Linux "Linux Programmer's Manual"
-.SH 名前
-glob \- パス名を glob する
-.SH 説明
-昔々 UNIX\ V6 では、ワイルドカードパターンを展開する \fI/etc/glob\fP と言うプログラムがあった。その後すぐに、
-この機能はシェルに組み込まれるようになった。
-
-今日では、この機能をユーザープログラムからも実行できるよう、 \fBglob\fP(3)  というライブラリルーチンも存在している。
-
-glob の規則を以下に述べる (POSIX.2 3.13)。
-.SS ワイルドカードマッチ
-文字列に \(aq?\(aq, \(aq*\(aq, \(aq[\(aq が含まれていると、 それはワイルドカードパターンとみなされる。 「glob
-する」というのは、ワイルドカードパターンを展開して、 そのパターンにマッチするパス名のリストを得ることである。 マッチは以下のように定義される。
-
-(ブラケット外部の) \(aq?\(aq はあらゆる単一の文字にマッチする。
-
-(ブラケット外部の) \(aq*\(aq はあらゆる文字列にマッチする。 空文字列 (empty string) にもマッチする。
-.PP
-\fB文字クラス (character class)\fP
-.sp
-"\fI[...]\fP" と言う表記は、先頭の \(aq[\(aq に続く最初の文字が \(aq!\(aq で
-なければ、ブラケットの中に含まれている文字のどれか一つにマッチする。 ブラケットの内部に含まれる文字列は空であってはならない。 したがって
-\(aq]\(aq も最初の文字に指定すればブラケットの内部に含めることが できる (つまり "\fI[][!]\fP" は \(aq[\(aq,
-\(aq]\(aq, \(aq!\(aq の 3 文字のどれかにマッチする)。
-.PP
-\fB領域指定 (range)\fP
-.sp
-特殊な表記法が一つ存在する。\(aq\-\(aq を挟む二つの文字は領域指定となる。 (つまり "\fI[A\-Fa\-f0\-9]\fP" は
-"\fI[ABCDEFabcdef0123456789]\fP" と等価となる。) \(aq\-\(aq 文字そのものを入れたい場合は、
-ブラケットの先頭または最後の文字に指定すればよい。 (つまり "\fI[]\-]\fP" は二つの文字 \(aq]\(aq と \(aq\-\(aq
-にマッチし、"\fI[\-\-0]\fP" は \(aq\-\(aq, \(aq.\(aq, \(aq0\(aq の 3 文字にマッチする。この間の
-\(aq/\(aq にはマッチしない。後述を参照。)
-.PP
-\fB補集合 (complementation)\fP
-.sp
-"\fI[!...]\fP" と言う表記は、ブラケットの内部に含まれない単一の文字にマッチする (ただし先頭にある \(aq!\(aq は除外)。 (つまり
-"\fI[!]a\-]\fP" は \(aq]\(aq, \(aqa\(aq, \(aq\-\(aq 以外のすべての文字の、どれか一つにマッチする。)
-
-バックスラッシュ \(aq\e\(aq を前置すれば、 \(aq?\(aq, \(aq*\(aq, \(aq[\(aq は通常の文字として扱われる。
-またはシェルのコマンドラインの一部に指定する場合は、 クォートで囲っても同じ効果が得られる。ブラケットの内部では、
-これらの文字はその文字自身だけを意味する。 すなわち "\fI[[?*\e]\fP" は \(aq[\(aq, \(aq?\(aq, \(aq*\(aq,
-\(aq\e\(aq のどれか一文字にマッチする。
-.SS "パス名 (pathname)"
-glob 動作は、パス名のそれぞれの部分に独立に適用される。 パス名に存在する \(aq/\(aq は \(aq?\(aq や \(aq*\(aq
-ワイルドカードにはマッチしない。 また "\fI[.\-0]\fP" のような領域指定にもマッチしない。 領域指定は陽に \(aq/\(aq
-文字を含むことはできない。これは文法エラーとなる。
-
-\(aq.\(aq で始まるパス名では、この文字は陽にマッチさせなければならない。 (つまり \fIrm\ *\fP は .profile を削除しない。また
-\fItar\ c\ *\fP ではすべてのファイルはアーカイブされない。 \fItar\ c\ .\fP の方が良い。)
-.SS 空のリスト
-先に与えた、わかりやすく簡単なルール、 「ワイルドカードパターンをマッチしたパス名のリストに展開する」と言うのは、 オリジナルの UNIX
-における定義であった。 これはパターンが空のリストに展開されることも許可されていた。 例えば
-
-.nf
-    xv \-wait 0 *.gif *.jpg
-.fi
-
-において、*.gif ファイルが全くない場合でも、 これは空のリストに展開されるため、エラーにならない。 しかし POSIX
-では、文法的に正しくないパターンや、 マッチがなかったパターンは、 そのまま変更されずに残されることになっている。 \fIbash\fP
-では、次のコマンドで昔からの振る舞いに設定することができる。
-
-.\" In Bash v1, by setting allow_null_glob_expansion=true
-    shopt \-s nullglob
-
-(同様の問題は別のところでも起こっている。例えば、古いスクリプトにおける
-
-.nf
-    rm \`find . \-name "*~"\`
-.fi
-
-のような記述は、新しいスクリプトでは
-
-.nf
-    rm \-f nosuchfile \`find . \-name "*~"\`
-.fi
-
-のようにしなければならない。さもないと \fIrm\fP を引き数リストなしで呼び出す可能性があり、 エラーメッセージが出てしまう。)
-.SH 注意
-.SS 正規表現
-ワイルドカードパターンは正規表現と多少似ているが、しかしこの両者は異なる。 まず第一に、前者がファイル名にマッチするのに対して、
-後者はテキストにマッチする。第二に、ルールも同じではない。 例えば正規表現における \(aq*\(aq は、 前置された文字の 0
-以上の繰り返しを表す。
-
-正規表現にもブラケット表現はあるが、否定は \(aq^\(aq でなされる。 POSIX ではワイルドカードパターンにおける "\fI[^...]\fP"
-を未定義であるとしている。
-.SS 文字クラスと国際化
-領域指定は、もともとはもちろん ASCII における順序並びを意味していた。 したがって "\fI[\ \-%]\fP" は "\fI[\ !"#$%]\fP"
-の意味であり、 "\fI[a\-z]\fP" は「すべての小文字」の意味であった。 UNIX の実装の中には、これを拡張したものが存在し、 そこでは X\-Y
-という領域指定は、X のコードと Y のコードに挟まれたコードを持つ文字すべてを表すようになっていた。
-しかし、これにはユーザーがローカルなシステムにおける 文字コードを知らなければならず、 さらにローカルなアルファベットに対する照合順序
-(collating sequence) が文字コードの順序と異なっている場合には不便であった。 (訳注: collating sequence
-に関しては \fBregex\fP(7)  を参照して下さい。)  したがって POSIX では、ワイルドカードパターンと正規表現の双方において、
-ブラケット表記を大幅に拡張している。 これまで我々は、ブラケット表記には三つの要素が含まれうることを見てきた。 すなわち (i) 否定、(ii)
-単一の文字、(iii) 領域指定、の三つである。 POSIX では、領域指定をより国際化に便利なように定義しており、
-また三つのタイプをブラケット表記の要素として追加している。
-
-(iii) 領域指定 X\-Y は X と Y に挟まれた (両端含む) すべての文字を意味する。 このとき、カレントロケール (current
-locale) の \fBLC_COLLATE\fP カテゴリーで定義されている照合順序が用いられる。
-
-(iv) 名前付き文字クラス: 以下のようなものである。
-.nf
-
-[:alnum:]  [:alpha:]  [:blank:]  [:cntrl:]
-[:digit:]  [:graph:]  [:lower:]  [:print:]
-[:punct:]  [:space:]  [:upper:]  [:xdigit:]
-
-.fi
-これを用いれば "\fI[a\-z]\fP" の代わりに "\fI[[:lower:]]\fP" のような指定ができる。 またデンマークのように、アルファベットの
-\(aqz\(aq 以降に 3 つの文字が存在するような場合でも、同じような動作が期待できる。 これらの文字クラスはカレントロケールの
-\fBLC_CTYPE\fP カテゴリーで定義されている。
-
-(v) 照合順序におけるシンボル: "\fI[.ch.]\fP" や "\fI[.a\-acute.]\fP" のように "\fI[.\fP" と "\fI.]\fP"
-で挟まれた文字列は、カレントロケールで定義された照合順序の要素となる。 ある一つの要素が複数の文字からなる場合もありうることに注意。
-
-(vi) 等価クラス表現 (equivalence class expressions):
-"\fI[=a=]\fP" のように "\fI[=\fP" と "\fI=]\fP" とで挟まれた文字列であり、
-カレントロケールで定義された等価クラスのメンバーである照合要素のいずれかを表す。
-例えば、"\fI[[=a=]]\fP" は "\fI[a\('a\(`a\(:a\(^a]\fP"、つまり
-"\fI[a[.a\-acute.][.a\-grave.][.a\-umlaut.][.a\-circumflex.]]\fP" と等価になる。
-.SH 関連項目
-\fBsh\fP(1), \fBfnmatch\fP(3), \fBglob\fP(3), \fBlocale\fP(7), \fBregex\fP(7)
-.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
-である。プロジェクトの説明とバグ報告に関する情報は
-http://www.kernel.org/doc/man\-pages/ に書かれている。