[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
これらのコマンドは,ソートされたファイルで働く(あるいはそれを生成する)コ マンドです.
7.1 sort : テキストファイルをソート | Sort text files. | |
7.2 uniq : ファイルのユニーク化 | Uniquify files. | |
7.3 comm : 2つのソートされた行と行の比較 | Compare two sorted files line by line. | |
7.5 ptx : 並べ替えた索引の生成 | Produce a permuted index of file contents. | |
7.4 tsort : 位相幾何学的なソート | Topological sort. |
sort
: テキストファイルをソート sort
は,与えられたファイル,または与えられない場合や,`-'の
fileからの全ての行を,ソート,統合,または比較します.デフォルトで,
sort
は結果を標準出力に書き出します.概要です.
sort [option]… [file]… |
sort
は,処理時に3つのモードがあります.ソート(デフォルト),統合,
そしてソートされてることの調査です.以下のオプションで処理モードを変更し
ます.
与えられたファイルが,すでにソートされているかどうか調査します.全てがソー トされていない場合,エラーメッセージを出力し,1のステータスで終了します. それ以外の場合は正常に終了します.
与えられたファイルを,グループ化してソートすることで,統合します.それぞ れの入力ファイルは,個別にソートされている必要があります.それは常に,統 合ではなくソートのために働きます.統合は,それが動作する場合,より速いた め提供されています.
行の対が,以下のように比較されます.キーフィールドが指定された場合,
sort
は,それぞれのフィールドの組を,コマンドラインで指定された順
番で,関連する順序オプションで,差が見つかるまで,またはフィールドの残り
が無くなるまで比較します.指定されない場合は,全てに比較に,
LC_COLLATE
ロケールで指定された,文字の対照する順番を使用します.
大域的なオプション`Mbdfinr'が与えられて,キーフィールドが指定されて
いない場合,sort
は大域的なオプションに従い,行全体を比較します.
最終的に,全てのキーが同じとき(または,順序オプションが全く指定されてい
ない場合),最後の手段として,sort
は行全体を比較します.最後の手段
は,`-r'の大域的なオプションを尊重して比較します.`-s'
(stable)オプションは,この最後の手段では利用できず,それは,全てのフィー
ルドの比較が同じ行は,元の相対的な順序のままにするためです.フィールド,
または,大域的なオプションが指定されない場合,`-s'は効果がありませ
ん.
GNU sort
は,(全てのGNUユーティリティで指定されるように)入力行の
長さの制限や,行で許可されるバイト数の限界がありません.更に,入力ファイ
ルの最終バイトが改行でない場合,GNU sort
は,黙ってそれを供給しま
す.行の後ろの改行は,比較の目的では行の一部です.例えば,ASCIIロケー
ルでオプションを用いない場合,ASCIIの対照の順序では,タブは改行の前
にあるので,タブで始まる行は空の行の前に来ます.
あらゆるエラーで,sort
は`2'のステータスで終了します.
環境変数TMPDIR
が設定されている場合,sort
は,その変数を
`/tmp'の代わりの一時ファイルのためのディレクトリとして使用します.
`-T tempdir'オプションは,順序的に環境変数に優先します.
以下のオプションは,出力行の順序に影響します.それらは,大域的,またはキー
フィールドの一部として指定可能です.キーフィールドが指定されていない場合,
大域的なオプションは行全体の比較に対して適用されます.それ以外では,大域
的なオプションは,それ自身オプションが指定されていないキーフィールドに継
承されます.`-b',`-d',`-f',そして`-i'オプションは,
LC_CTYPE
ロケールに従い,文字を分類します.
それぞれの行でソートするキーを探すとき,前の空白を無視します.
phone directoryの順序でソートします.ソート時に,文字,数字,そし て空白以外の全ての文字は無視されます.
ソート時に,小文字を大文字と同じに扱い,例えば,`b'と`B'は同等 にソートされます.
数値的なソートをし,それには,それぞれの行のプレフィクスを倍精度浮動小数
点の数に変換するため,標準C関数strtod
を使用します.これで,
1.0e-34
と10e100
のような浮動小数点の数を,科学的な表記方で
指定できます.オーバーフローや,アンダーフロー,変換エラーは報告しません.
以下の対照の順序を使用します.
数字で始まらない行(全て同じと考えます).
NaNs("Not a Number"値で,IEEE浮動小数点の評価)一貫しているがマシンに依 存した順番.
負の無限大.
数字の順番に並んだ有限数(-0と+0は等しい).
正の無限大.
他に選択肢が無い場合のみ,このオプションを使用してください.`-n'よ りはるかに遅く,浮動小数点に変換するとき,情報を失うはずです.
印刷不可能な文字を無視します.
あらゆる量の空白と,以下に月の名前の省略が続くものから成り立つ,最初の文
字列は,大文字に覆われ,`JAN' < `FEB' < … < `DEC'の
順に比較されます.無効な名前は,有効な名前の下になります.LC_TIME
ロケールは,月の綴を決定します.
数値的なソートです.数字でそれぞれの行を開始します.特に,オプションの空
白,オプションの`-'記号,そして,1000で区切られたり,小数点文字とゼ
ロ以上の桁を続けることが可能な,ゼロ以上の桁から成り立ちます.
LC_NUMERIC
ロケールで,小数点文字と1000区切りを指定します.
sort -n
は,浮動小数点の数を表現する文字列を比較するため,慣習的と
は思われない手法を使用します.最初にそれぞれの文字列をC double
形
式に変換して,それらの値を比較するのではなく,ソートは,2つの文字列の小
数点文字を一列に並べて,一度に文字の列を比較します.このアプローチを使う
1つの利益は速度です.実際には,それは,2つの対応する文字列を倍精度浮動小
数点に(または,文字列を整数に)変換し,倍精度浮動小数点を比較するより効率
的です.更に,精度に対応する損失はありません.それぞれの文字列を比較前に
double
に変換することは,ほとんどのシステムで16桁程度に精度が制限
されるでしょう.
前置される`+'も,指数表記も認識されません.そのような文字列を数値的 に比較するために,`-g'オプションを使用してください.
比較の結果を逆順にし,より大きなキー値を持つ行が,出力で後ろになる代わり に,より早く現われるようになります.
その他のオプションは以下の通りです.
標準出力の代わりに,output-fileに出力を書き出します.
output-fileが入力ファイルの1つの場合,sort
はそれを,ソート
前に一時ファイルにコピーし,output-fileに出力を書き出します.
それぞれの行からソート行を検索するとき,フィールドセパレータとして,文字
separatorを使用します.デフォルトで,フィールドは,空白でない文字
と空白文字の間の空の文字列で分離されます.すなわち,入力行` foo
bar'が与えられた場合,sort
はそれを,フィールド` foo'と
` bar'に分離します.フィールドセパレータは,フィールドの前やフィー
ルドの後の部分とは考えられません.
デフォルトの場合や`-m'オプションに対し,比較が等しい行の順序の最初 のみを出力します.`-c'オプションに対し,比較が等しい連続した行の対 が無いことを調査します.
ソートフィールドを指定するための,POSIXの推薦されるオプションです. フィールドは,pos1とpos2(または,pos2が省略された場合 は行末)の間の行の部分から成り立つ,全てを包括します.フィールドと 文字の位置は,1から番号付けされます.そのため,2番目のフィールドをソート するため,`-k 2,2'を使用してください.以下により多くの例があります.
入力を行のセットとして扱い,ASCII LF (Line Feed)の代わりにゼロ バイト(ASCII NUL (Null)文字)で終端します.このオプションは,任 意のパス名を(ラインフィード文字を含んでいても)確実に処理するため, `perl -0'や,`find -print0'と`xargs -0'と組み合わせると便 利です.
時代遅れで,ソートフィールドを指定するための伝統的なオプションです.フィー ルドは,行のpos1とpos2(または,pos2が省略された場合は 行末)を含まない間から成り立ちます.フィールドと文字の位置は,0か ら番号付けされます.以下を見てください.
更に,GNU sort
が正確に1つの引数で呼び出されたとき,オプション
`--help'と`--version'は認識されます.See section 共通のオプション.
歴史的な(BSDとSystem Vの)sort
の実装は,いくつかのオプションの解釈
で異なり,特に,`-b',`-f'と`-n'です.GNU sort
は,
POSIXの動作に従い,それは通常(常にではない!)System V の動作に似てい
ます.POSIXによると,`-n'は,もはや`-b'を暗示しません.一
貫性のため,`-M'も同様に変更されました.これは,分かりにくい場合の
フィールドの指定で,文字の位置の意味に影響するかもしれません.唯一の訂正
は,明示的に`-b'を加えることです.
`-k'や`+'オプションを用いたソート時のフィールド指定の位置は, `f.c'形式を持ち,fは使用するフィールド数で, cは(`+pos'に対する)フィールドの最初から,または, (`-pos'に対する)前のフィールドの終りからの,最初の文字数です. `.c'が省略された場合,フィールドの最初の文字を用います. `-b'オプションが指定された場合,指定したフィールドの`.c' の部分は,(`+pos'に対する)フィールドの最初の空白ではない文字 から,または,(`-pos'に対する)前のフィールドから続く最初の空 白ではない文字から数えます.
ソートキーオプションは,オプション文字`Mbdfinr'を加えることが可能で, その場合,大域的な順序オプションは,特定のフィールドに使用されません. `-b'オプションは,指定したフィールドの`+pos'と `-pos'の部分の,一方または両方に独立に適用され,大域的なオプ ションを継承する場合,両方に適用されます.キーは複数のフィールドに跨るこ とができます.
ここに,様々なオプションの組合せを紹介する例があります.その中で,ソート キーを指定するためのPOSIX `-k'オプションが,時代遅れの `+pos1-pos2'構文の代わりに使用されています.
下降的な(逆順の)数の順序でソートします.
sort -nr |
アルファベット順に,最初と2番目のフィールドを除いてソートします.これは, フィールド3から始まり,それぞれの行の終りまで続く文字で構成された,単一 のキーを使用します.
sort -k3 |
2番目のフィールドを数値的にソートし,フィールド5の3番目と4番目の文字のア ルファベットでソートすることで,対等なものを解決します.フィールド分離に `:'を使用します.
sort -t : -k 2,2n -k 5.3,5.4 |
`-k 2,2'の代わりに`-k 2'と書いた場合,`sort'は2番目のフィー ルドで始まり,行の終りまで続く全ての文字を,主要な数値キーとして 使用することに注意してください.アプリケーションのほとんど大多数に対し, 数値として1フィールド以上に跨って扱うキーは,期待したものではないでしょ う.
また,`n'の修飾は,最初のキーに対し,フィールドの終りを指定するもの に適用されることに注意してください.それは,`-k 2n,2'や`-k 2n,2n'を指定することと同じです.全ての修飾は,`b'が関連する フィールドに適用されることを期待し,修飾文字がフィールドの最初と/また は,キー指定のフィールドの終りに適用されるかどうかに依存しません.
5番目のフィールドでパスワードファイルをソートし,あらゆる前置される空白 を無視します.フィールド5が等しい値の行を,フィールド3のユーザIDでソート します.
sort -t : -k 5b,5 -k 3,3n /etc/passwd |
代わりに,大域的な数値の修飾`-n'を使用します.
sort -t : -n -k 5b,5 -k 3,3 /etc/passwd |
大文字小文字を識別するタグファイルを生成します.
find src -type f -print0 | sort -t / -z -f | xargs -0 etags --append |
この場合,`-print0',`-z'と`-0'の使用は,Line Feed 文字を 含むパス名がソート処理で分かれないようにします.
最後に,前後の空白を無視するため,`b'修飾を最初のキーに対しフィール ドの終りの指定に適用できます.
sort -t : -n -k 5b,5b -k 3,3 /etc/passwd |
または,大域的な`-b'修飾を`-n'の代わりに使用し,2番目のキー指 定に`n'を明示します.
sort -t : -b -k 5,5 -k 3,3n /etc/passwd |
uniq
: ファイルのユニーク化 uniq
は与えられたファイル,または与えられない場合や`-'の
input名に対し,ユニークな行を書き出します.概要です.
uniq [option]… [input [output]] |
デフォルトで,uniq
はソートされたファイルのユニークな行を出力し,
すなわち,一意に識別可能な行以外を全て削除します.オプションで,そうする
代わりに,1度しか現われない行を表示したり,1度以上現われる行を表示したり
できます.
入力ファイルはソートされている必要があります.入力がソートされていない場
合,おそらくsort -u
を使用したいと思います.
outputファイルが無い場合,uniq
は標準出力に書き出します.
このプログラムは,以下のオプションも受け入れます.共通のオプション, も参照してください.
ユニークさを調査する前に,それぞれの行のnフィールドスキップします. フィールドは,少なくとも1対上のスペースやタブで区切られた,非スペース, 非タブ文字の並びです.
ユニークさの調査の前に,n文字スキップします.フィールドと文字のス キップオプションを両方とも使用した場合,フィールドが最初にスキップされま す.
それぞれの行で同じものが発生した回数を出力します.
行の比較時に大文字小文字の違いを無視します.
重複する行のみを出力します.
全ての重複する行で,重複する行のみを出力します.このオプションは,主に他 のオプションと組み合わせると便利で,例えば,大文字小文字を無視したり,選 択したフィールドのみを比較する場合です.これは,GNUの拡張です.
ユニークな行のみ出力します.
(指定されたあらゆるフィールドと文字をスキップした後) それぞれの行の n文字比較します.デフォルトで,行の残りが比較されます.
comm
: 2つのソートされた行と行の比較 comm
は,2つの入力ファイルの共通の行とユニークな行を標準出力に書き
出します.`-'のファイル名は標準有力を意味します.概要です.
comm [option]… file1 file2 |
comm
を使用する前に,LC_COLLATE
で指定された対照表の順に入力
ファイルをソートする必要があり,後置される改行が重要です.入力ファイルが
改行文字で終らない場合,改行は暗黙に付加されます.オプションを用いない
sort
コマンドは,comm
の入力に適したファイルを常に出力します.
オプションが無い場合,comm
は3列の出力を生成します.列の1は
file1のユニークな行を含み,列の2はfile2のユニークな行を含み,
列の3は両方のファイルに共通な列を含みます.これ無は単一のTAB文字で分けら
れます.
オプションの`-1',`-2'と,`-3'は,対応する列の出力を抑制 します.共通のオプション,も参照してください.
他の比較ユーティリティと異なり,comm
は比較の結果に依存しない終了
ステータスがあります.上記の通常の比較で,comm
はゼロのコードで終
了します.エラーがあった場合,ゼロでないステータスで終了します.
tsort
: 位相幾何学的なソート tsort
は,位相幾何学的なソートを,与えられたファイルや,入力ファイ
ルが与えられない場合や`-'のファイルに対しては標準入力で実行します.
概要です.
tsort [option] [file] |
tsort
は,その入力を文字列の組として読み込み,空白で分離し,それは
不完全な順序で示されています.出力は,与えられた不完全な順序に対応する完
全な順序です.
例えば以下のようにします.
tsort <<EOF a b c d e f b c d e EOF |
これは以下の出力を生成します.
a b c d e f |
tsort
は入力で円を検出し,出現した最初の円を標準エラーに書き出しま
す.
与えられた不完全な順序が,一般に唯一の完全な順序でないことに注意してくだ さい.
オプションは,`--help'と`--version'のみです.See section 共通のオプション.
ptx
: 並べ替えた索引の生成 ptx
は,テキストファイルを読み込み,その内容のそれぞれのキーワード
を用いて,並べ替えられた索引を本来は生成します.呼び出しの形態は以下の1
つです.
ptx [option …] [file …] ptx -G [option …] [input [output]] |
`-G'(または同等の: `--traditional')オプションは,全てのGNU拡張
を利用不可にし,伝統的なモードに切替え,そのため,いくつかの制限と,プロ
グラムのオプションデフォルト値を変更します.`-G'が指定されていない
場合,GNU拡張は常に利用可能です.ptx
のGNU拡張は,このドキュメント
に適切に文章化されています.完全なリストは,See section ptx
のGNU拡張.
個別のオプションは,以下のセクションで説明されます.
GNU拡張が利用可能なとき,ゼロ,1つまたは複数のfileが,オプションの 後にあります.fileが無い場合,プログラムは標準入力から読み込みます. 1つまたは複数fileある場合,全ての入力ファイルが連結されているかの ように,その回で全て読み込まれる入力ファイル名を与えます.しかし,それぞ れのファイルの間に完全に文脈の終りが有り,自動的な参照が要求されるとき, ファイル名と行番号は,入力ファイルの個別のテキストを参照します.全ての場 合で,プログラムは並べ替えられた索引を標準出力に書き出します.
GNU拡張が利用可能でないとき,すなわち,伝統的なモードでプログラム
が動作しているとき,ゼロ,1つまたは2つのパラメータがオプションの後にあり
ます.パラメータが無い場合,プログラムは標準入力を読み込み,標準出力に並
べ替えた索引を生成します.1つのパラメータのみの場合,それは標準入力の代
わりに読み込まれるテキストinputを指名します.2つのパラメータが与え
られた場合,それらはそれぞれ,読み込まれるinputファイル名と,生成
するoutputファイル名を与えます.この場合,2番目のパラメータとして
与えられるファイルの内容が壊れることに十分注意してください.この
動作は,出力パラメータを妨げるGNU標準がオプションで導入されたのではない
ので,System V ptx
互換のみにより規定されています.
あらゆるファイルは,オプション値や入力テキストファイルとして指 名され,単一のダッシュ-は使用でき,その場合標準入力と考えられます. しかし,プログラムの呼び出しに1回以上,この慣習を使用する意味はありませ ん.
7.5.1 一般的なオプション | Options which affect general program behaviour. | |
7.5.2 文字セットの選択 | Underlying character set considerations. | |
7.5.3 単語の選択と入力の処理 | Input fields, contexts, and keyword selection. | |
7.5.4 出力の書式 | Types of output format, and sizing the fields. | |
7.5.5 ptx のGNU拡張 |
著作権とコピー条件の短いメモを出力し,それ以上何も処理せず終了します.
既に拡張されているので,このオプションは,ptx
に対する全てのGNU拡
張を利用不可にし,伝統的なモードに切替えます.
短いヘルプを標準出力に出力し,それ以上何も処理せず終了します.
プログラムのバージョンを標準出力に出力し,それ以上何も処理せずに終了しま す.
現在セットアップされているので,プログラムは,入力ファイルが8ビットISO
8859-1コードを使用して符号化されていると考え,Latin-1文字セットだという
ことも分かりますが,それは,MS-DOSでコンパイルされていない場合で,
その場合はIBM-PCの文字セットを使用します.(GNU ptx
は,より小さい
MS-DOSマシンで働く方法を知りません.) 7-bit ASCIIに比べて,文字であ
る文字セットは異なっていて,この事実は正規表現の一致の動作を変更します.
そのため,キーワードに対するデフォルトの正規表現で,外国や発音記号の文字
が可能となります.しかし,キーワードのソートはそのままです.それは,全く
盲目的に基礎的な文字セットの順序に従います.
ソートに対し,小文字を大文字にまとめます.
このオプションは,単語を生成する文字の記述方法(`-W')の代替物を提供 します.それは,単語の部分にならない文字のリストを含むファイル名を導入し, このファイルはブレークファイルと呼ばれます.ブレークファイルの一部 でないあらゆる文字は単語の要素です.`-b'と`-W'を両方指定した場 合,`-W'が優先され`-b'は無視されます.
GNU拡張が利用可能な場合,改行をブレーク文字とすることを避ける唯一の方法 で,ファイルの終りにさえ改行が全く無いファイルに,全てのブレーク文字を書 くことでできます.GNU拡張が利用不可能な場合,スペース,タブ,改行は,ブ レークファイルの含まれている場合でさえ,常にブレーク文字と考えます.
このオプションで関連付けられたファイルは,用語索引の出力でキーワードとさ れない単語のリストを含みます.それは無視ファイルと呼ばれます.ファ イルは,正確にそれぞれの行に1単語を含みます.単語を分ける行の終りは, `-S'オプションの値を適用されません.
このオプションが指定されない場合,デフォルトの無視ファイルはptx
が
使用され,インストール時に変更されていない場合,通常は
`/usr/local/lib/eign'で見つかります.デフォルトの無視ファイルの影響
を無くしたい場合,代わりに/dev/null
を指定してください.
このオプションで関連付けられたファイルは,用語索引の出力に維持される単語 のリストを含み,このファイルで述べれいないあらゆる単語は無視されます.ファ イルはオンリーファイルと呼ばれています.ファイルは,正確にそれぞれ の行に1単語を含みます.単語を分ける行の終りは,`-S'オプションの値を 適用されません.
オンリーファイルにデフォルトはありません.オンリーファイルと無視ファイル の両方にある場合,オンリーファイルで与えられ,無視ファイルで与えられない 単語のみキーワードに適用されます.
それぞれの入力行で,空白文字でない前置された並びは,生成され並べ替えされ た索引の,この入力行を識別する目的を持つ参照として受け入れます.参照生成 に関するより多くの情報は,See section 出力の書式. このオプショ ンの使用で,オプション`-S'に対するデフォルト値を変更します.
このオプションの使用で,プログラムは出力の文脈からの参照の削除の試みが非 常に難しくなりますが,文脈の終りが正確に改行で終るとき,そうする ことに成功します.オプション`-r'が`-S'デフォルト値とともに使用 された場合や,GNU拡張が利用不可能なとき,この条件は常に満たされ,参照は 完全に出力文脈から除外されます.
このオプションは,行末や文の終りを記述する正規表現を選択します.実際,こ の正規表現の効果以外に,行末や文の終わりのには他の区別があり,入力行の境 界は,このオプションの外で特別な重要性はありません.デフォルトで,GNU拡 張が使用可能なときや,`-r'オプションが使用されていない場合,文の終 りが使用されます.この場合,正確なregexはGNU emacsから取り込まれま す.
[.?!][]\"')}]*\\($\\|\t\\| \\)[ \t\n]* |
GNU拡張が使用不可能なときや,`-r'オプションが使用されている場合は, 常に行の終りが使用され,この場合デフォルトのregexpは以下のようにな ります.
\n |
空のregexpの使用は,行末と文の終りの認識を完全に不可能にすることと 同等です.この場合,ファイル全体が単一の大きな行や文と考えられます.ユー ザは,オプション`-F ""'を通じて,全ての切り詰めフラグの生成を,不許 可にしたい場合もあります.See (emacs)Regexps section `Syntax of Regular Expressions' in The GNU Emacs Manual.
キーワードが入力行や文の最初で発生したとき,出力文脈の行の最初に利用され ない領域を作成することが良くあります.キーワードが入力行や文の終り近くで 発生したとき,出力文脈の行の終りに利用されない領域を作成することが良くあ ります.プログラムは,その中の文脈の周りを包むことで,それらの領域を補充 しようとします.入力行や文の頭は,出力行の右の利用されていない行を補充す るために使用されます.
ユーザの利便性の問題として,C言語で見つかる,多くの通常のバックスラッシュ
されたエスケープ・シーケンスは認識され,ptx
自身によって対応する文
字に変換されます.
このオプションは,それぞれのキーワードを記述している正規表現を選択します. デフォルトで,GNU拡張が利用可能な場合,単語は文字の並びです.使用される regexpは`\w+'です.GNU拡張が利用不可能な場合,単語はデフォル トで,スペース,タブ,または改行で終るあらゆるものです.使用される regexpは`[^ \t\n]+'です.
空のregexpは,このオプションを使用しないのと同等で,デフォルト動作 になります.See (emacs)Regexps section `Syntax of Regular Expressions' in The GNU Emacs Manual.
ユーザの利便性の問題として,C言語で見つかる,多くの通常のバックスラッシュ
されたエスケープ・シーケンスは認識され,ptx
自身によって対応する文
字に変換されます.
出力書式は,主に`-O'と`-T'オプションで制御され,それは以下の表
で記述されています.`-O'も`-T'も選択されていないときで,GNU拡
張が利用可能な場合,プログラムは dumb 端末に適した出力書式を選択します.
それぞれのキーワードの発生は,出力を行の中心にし,周りをその左右の文脈で
囲います.それぞれのフィールドは適切に正当化されるので,用語索引の出力は
容易に観察できます.特別な特徴として,自動的な参照がオプション`-A'
で指定されていて,左の文脈の前に出力されている,すなわち,オプション
`-R'が選択されていない場合,コロンが参照の後に追加されます.
これは,GNU Emacsがnext-error
を処理することでうまく作用します.こ
のデフォルト出力書式では,改行やタブのようなそれぞれの空白文字は,正確に
1つのスペースに単に変換され,連続したスペースの圧縮は特に試みません.こ
れは将来変更されるかも知れません.これらの空白文字以外の,256文字の基本
セットの全ての他の文字は逐語的に転送されます.
出力書式は,以下のオプションで更に制御されます.
出力行のフィールド間の最小の空白の隙間を選択します.
それぞれの最終行の出力最大幅を選択します.参照が使用される場合, `-R'オプションの値に依存して,それらは出力最大幅に含められたり省か れたりします.これらのオプションが選択されていない場合,すなわち,参照が 左の文脈の前に出力されるとき,出力最大幅は全ての参照の最大長まで考慮に入 れられます.このオプションが選択された場合,すなわち,参照が右の文脈の後 に出力されるとき,出力最大幅は参照が使用するスペースの量も,前にある隙間 も考慮に入れられません.
自動的な参照を選択します.それぞれの入力行は,ファイル名と間に単一のコロ ンを用いた行の序数で作成された自動的な参照を持ちます.しかし,標準入力が 読み込まれているときは,ファイル名は空です.`-A'と`-r'の両方が 選択された場合,入力参照は読み込まれスキップされますが,自動的な参照は出 力時に利用され,それは入力参照に優先します.
デフォルト出力書式で,オプション`-R'が使用されていないとき,オプショ ン`-r'や`-A'の影響で生成されるあらゆる参照は,右の文脈の後に, 出力行の右端に与えられます.デフォルト出力書式で,オプション`-R'が 指定された場合,参照は,左の文脈の前に,それぞれの出力行の始めに代わりに 与えられます.それ以外のあらゆる出力書式に対し,`-R'が選択されたと きは常に,参照の幅が`-w'で与えられた全体の出力幅に含まれない という事実以外,オプション`-R'はほとんど無視されます.
GNU拡張が利用不可能なときは,常にこのオプションは自動的に選択されます.
このオプションは,文字列stringの使用が報告された出力での,あらゆる 切り詰めを要求します.ほとんどの出力フィールドは,オプション`-S'が 選択されたのと同様に,現在の行や現在の文の始めや終りに向かって,理論的に 展開されます.しかし,許可される出力行幅の最大値は存在し,オプション `-w'で変更でき,それは様々な出力フィールドに対しスペースで更に分割 されます.現在の行に適するよう,その行の最初や終りまで拡張することができ ないため,フィールドが切り詰める必要があるとき,切り詰めが発生します.デ フォルトで,使用される文字列は単一のスラッシュで,`-F /'のようにな ります.
stringは1文字以上が可能で,`-F ...'のようになります.また, stringが空(`-F ""')となる特定の場合,切り詰めフラグは利用不可 能で,切り詰めマークはこの場合現われません.
ユーザの利便性の問題として,多くの通常の,C言語で見つかる,バックスペー
スされたエスケープ・シーケンスは認識され,ptx
自身によって,対応す
る文字に変換されます.
nroff
,troff
やTeXに適した出力を生成している間,
`xx'の代わりに,使用する他のstringを選択します.
nroff
やtroff
の処理に適した出力書式を選択します.それぞれの
出力行は以下のようになります.
.xx "tail" "before" "keyword_and_after" "head" "ref" |
それで,出力の植字を処理するための,`.xx' roffマクロを書くことが可 能になります.GNU拡張が利用不可能な場合,これはデフォルト出力です.オプ ション`-M'は,`xx'を他のマクロ名に変更するために利用可能です.
この出力形式で,改行やタブのようなそれぞれの表示不可能な文字は,連続した
スペースを圧縮するという特別な試みを行わず,正確に1つのスペースに単に変
換されます.それぞれの引用文字:"は2重になるので,nroff
や
troff
で正しく処理されます.
TeXでの処理に適した出力書式を選択します.それぞれの出力行は以下のよう になります.
\xx {tail}{before}{keyword}{after}{head}{ref} |
それで,出力の植字の処理するための\xx
定義を書くことが可能になりま
す.参照が生成されないとき,すなはち,オプション`-A'もオプション
`-r'も選択されていないとき,それぞれの\xx
の最後のパラメータ
が抑制されることに注意してください.オプション`-M'は,`xx'を他
のマクロ名に変更するために利用可能です.
この出力書式では,$,%,&,#そして_のよう
な,いくつかの特殊文字は,自動的にバックスラッシュで保護されます.弓カッ
コの{,}もバックスラッシュで保護されますが,数学モードを強
制するドル記号の組でも囲まれます.バックスラッシュ自身は
\backslash{}
の並びを生成します.曲折アクセント記号とティルデ分
音記号は,^\{ }
と~\{ }
の並びをそれぞれ生成します.その
他の基礎となる文字セットの分音文字は,適切なTeXの並びを可能な限り生成
します.改行とタブのようなその他の表示不可能な文字と,ASCIIではない
全ての他の文字は,連続したスペースを圧縮するという特別な試みを行わず,1
つのスペースに単に変換されます.これらの特殊文字をTeXで処理する改善方
法を知らせてください.
ptx
のGNU拡張 このptx
のバージョンには,System V ptx
には存在しないいくつ
かの特徴があります.これらの拡張された特徴は,他のコマンドラインオプショ
ンで優先されない場合,`-G'コマンドラインオプションを使用して抑制さ
れます.GNU拡張には,優先で元に戻すことができないものがあり,そのため,
GNU拡張を気にする場合,簡単な規則で`-G'を避けるはずです.ここに,こ
のプログラムとSystem V ptx
の間の違いがあります.
このプログラムは,一度に多くの入力ファイルを読むことが可能で,それは常に,
用語索引の結果を標準出力に書き出します.一方,System V ptx
は,1つ
のみファイルを読み込み,結果を標準出力に書き出すか,2番目のfileパ
ラメータがコマンドで与えられている場合は,そのfileに書き出します.
オプションで導入されない出力パラメータがあるということは,GNUができる限
り避ける全く危険な操作です.そのため,GNUとSystem Vの間の移植性のある
ptx
を使用するため,単一の入力ファイルで常に使用することに注意を払
い,常に標準出力で結果を期待するべきです.配置するものが`-G'を受け
入れるptx
がインストールされていることが分かった場合,ptx
を
使用した製品でのptx
の呼び出しで,`-G'オプションを自動的に配
置したいと思うかもしれません.
System V ptx
でのみ利用可能なオプションは,`-b',`-f',
`-g',`-i',`-o',`-r',`-t'と`-w'です.全
ての他のオプションはGNU拡張で,この列挙では繰り返しません.さらに,GNU拡
張が利用可能なとき,わずかに意味が異なるオプションもあり,以下で記述しま
す.
デフォルトで,用語索引出力はtroff
やnroff
に対して書式化され
ません.それはむしろ,dumb端末に対する出力です.troff
や
nroff
の出力は,オプション`-O'を通じて選択可能です.
`-R'オプションが選択されない場合,最大の参照幅は出力行幅全体から引 いたものになります.GNU拡張が利用不可能な場合,参照の幅は出力行の幅の計 算で考慮されません.
NULを含む256文字全ては,たとえGNU拡張が利用不可能な場合でも,常に
入力ファイルから読み込まれ,不利な効果もなく処理されます.しかし,System
V ptx
は8ビット文字を受け入れず,いくつかの制御文字は削除され,チ
ルダ~は処分されます.
入力行の長さは,GNU拡張が利用できない場合でさえ,利用可能なメモリでのみ
制限されます.しかしSystem V ptx
は,それぞれの行の最初の200文字の
み処理します.
ブレーク(noord)文字は,全ての基礎となる文字セット以外,分音記号の有無に よらず,全ての文字をデフォルトとします.GNU拡張が利用不可能なとき,ブレー ク文字は,スペース,タブと改行のみをデフォルトとします.
プログラムは,出力行の幅でより良いものを使用します.GNU拡張が利用不可能
な場合,プログラムは,代わりにSystem V ptx
を模倣しようとしますが,
このプログラムが完全に再現していない,わずかな配置不備もまだあります.
ユーザは,IgnoreファイルとOnlyファイルの両方を指定できます.これは,
System V ptx
では許可されません.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Akihiro Sagawa on June, 15 2005 using texi2html 1.70.