Next: tsort invocation, Previous: comm invocation, Up: Operating on sorted files [Contents][Index]
ptx
: パミューテド・インデックスを作成するptx
の基本的な働きは、テキストファイルを読み込んで、
パミューテド・インデックスを作成することである。パミューテド・インデックスというのは、
各キーワードに前後の文脈を付けて索引項目にするインデックスのことだ。
(訳注: パミューテド・インデックスは、KWIC (Key Word In Context)
インデックスとも言われる。簡単に言えば、本文にあるとおり、
キーワードに前後の文脈を付けて項目として立てる索引のことである。たとえば、"The cow
jumped over the moon." という文があるとしよう。今、キーワードを角カッコ ([])
で示すとすると、ptx
による一番素朴なパミューテド・インデックスの作成では、
この文から、
[The] cow jumped over the moon. The [cow] jumped over the moon. The cow [jumped] over the moon. The cow jumped [over] the moon. The cow jumped over [the] moon. The cow jumped over the [moon].
という、キーワードの位置だけが違う 6 個の索引項目が作られ、 キーワードによってソートされて、出力される。 「パミューテド (permuted)」というのは、文中でキーワードが順番に移動するのを、 円順列 (cyclic permutation) に見立てているかららしい。 「順列索引」と訳されることもある。
上記の文に対して何のオプションも付けずに ptx
を実行したときの実際の出力は、次のようになる。出力された行の中央の
(すなわち、少し長めの空白の後ろの) 単語がキーワードである。
大文字小文字を区別してアルファベット順に並んでいるのが、おわかりになるだろう。
$ echo "The cow jumped over the moon." | ptx The cow jumped over the moon. The cow jumped over the moon. The cow jumped over the moon. The cow jumped over the moon. The cow jumped over the moon. The cow jumped over the moon.
パミューテド・インデックスの代表的な例としては、
英語などの聖書の巻末に付属している文脈付きの語句索引、「コンコーダンス」を挙げることができる。
実際、この文書でもコンコーダンスをパミューテド・インデックスの同義語として使用している。
なお、この ptx
プログラムは、日本語に対応していない。)
ptx
実行の書式は次のうちのどちらかである。
ptx [option …] [file …] ptx -G [option …] [input [output]]
-G (または、それと等価な --traditional) オプションを指定すると、
GNU によるすべての拡張が無効になり、従来のモードで動作するようになる。
従って、いくつかの制限が課されるようになり、プログラムのオプションのデフォルトの値がいくつか変更される。
-G が指定されていない場合は、GNU による拡張が常に有効になる。
ptx
に対する GNU の拡張については、この文書では折に触れて説明している。
拡張の詳細なリストについては、「GNU による ptx
の拡張」の節を御覧になっていただきたい。
See Compatibility in ptx.
個々のオプションについては、以下に続く節で説明する。
GNU による拡張が有効になっていれば、オプションの後ろに 0 個以上の
file を指定することができる。file を一つも指定しない場合は、標準入力が読み込まれる。
file を 1 個以上指定した場合、それは入力ファイルの名前であり、
入力ファイルはすべて順番に、あたかもすべてのファイルが結合されているかのように読み込まれる。
とは言え、各ファイル同士は文脈的に完全に分離しており、
参照箇所情報の自動作成を指定している場合に、参照箇所のファイル名や行番号が指し示すのは、
個々の入力テキストファイルのそれである。
どの場合でも、ptx
は、パミューテド・インデックスを標準出力に出力する。
GNU による拡張が有効になっていない場合、すなわち、プログラムが従来モードで動作する場合は、
オプションのほかに 0 から 2 個のパラメータを指定できる。パラメータがない場合、
プログラムは標準入力を読み込んで、標準出力にパミューテド・インデックスを出力する。
パラメータが 1 個だけの場合、それが示しているのは、標準入力の代わりに読み込まれるテキストファイル
(訳注: 上記書式の input) の名前である。
パラメータが二つある場合、それぞれが示しているのは、読み込み対象の input
ファイルと出力先の output ファイルの名前だ。
この場合、二番目のパラメータによって指定されたファイルの元の内容が破壊されることに、
くれぐれも気をつけていただきたい。この動作は、System V の ptx
との互換性を維持するために必要になっているものだが、
通常 GNU の規格では、オプションによって指定されるのではない出力パラメータを、使用しないように勧めている。
オプションの値や入力テキストファイルとして指定するいかなるファイルに 対しても、ファイル名の代わりに 1 個のダッシュ ‘-’ を使用することが できる。その場合は、標準入力が使われることになる。もっとも、この習慣を プログラム 1 回の起動につき 1 回以上使うのは、たぶん理屈に合わない。
• General options in ptx: | プログラム全体の動作に関係するオプション。 | |
• Charset selection in ptx: | 使用している文字セットについて。 | |
• Input processing in ptx: | 入力のフィールドと文脈、及びキーワードの選択。 | |
• Output formatting in ptx: | 出力フォーマットのタイプ、及びフィールドの幅。 | |
• Compatibility in ptx: |
Next: tsort invocation, Previous: comm invocation, Up: Operating on sorted files [Contents][Index]