戻る
GNUのtextutils付属のptxコマンドのマニュアル。
================================
PTX(1) PTX(1)
名前
ptx - 整列済み索引を作成する
書式
ptx [OPTION...] [FILE...]
ptx [-G] [--traditional] [OPTION...] [IN-FILE [OUT-FILE]]
Options:
[-frAORT] [-b FILE] [-g NUMBER] [-i FILE] [-o FILE] [-w
NUMBER] [-F STRING] [-M STRING] [-S REGEXP] [-W REGEXP]
[--auto-reference] [--break-file=FILE] [--flac-trunca-
tion=STRING] [--format={nroff,tex}] [--gap-size=NUMBER]
[--ignore-case] [--ignore-file=FILE] [--macro-name=STRING]
[--only-file=FILE] [--references] [--right-side-refs]
[--sentence-regexp=REGEXP] [--word-regexp=REGEXP]
[FILE...]
ptx [-C] [--copyright] [--help] [--version]
説明
GNU 拡張された ptx (デフォルト) は、与えられた FILE それぞ
れ の 整 列 済み索引 (permutated index) を標準出力に書く。
FILE が一つも与えられないと標準入力から読み込む。また FILE
が `-' だった場合には、そのファイルには標準入力が用いられ
る。結果は結合されるが、各 FILE はそれぞれ独自のコンテクス
トを持ち、自動参照を使うときには別々に参照される。
[訳注: 参照 (reference) とは、キーワードの現れるファイル名
と行数の表示。]
--traditional モードを使うと、 ptx は入力を IN-FILE から読
み、 OUT-FILE に書く。後者が省略されると標準出力に書く。
デフォルトの出力フォーマットは、キーワードをセンターに、そ
してコンテクストがあれば左または右に書 く。 --traditional
モードでは --format-nroff が用いられる。
オプション
-b FILE, --break-file=FILE
単 語に含むことのできない文字を FILE から取得する (
このファイルは break file と呼ばれる)。デフォルトの
モー ドでは、 FILE にある全ての文字が (改行文字も含
めて) 考慮される。過去互換モードでは、空白・タ ブ・
改行の各文字は、常に FILE からは捨てられる。
-f, --ignore-case
文字列をソートするとき英大文字小文字を無視する。
-g NUMBER, --gap-size=NUMBER
フィー ルド間の空白の最低数を NUMBER に設定する (デ
フォルトは 3)。
-i FILE, --ignore-file=FILE
無視するキーワードのリストを FILE から取得する ( こ
の ファ イルは ignore file と呼ばれる。デフォルトは
/usr/local/lib/eign)。各行には単語を一つだけ指定 す
る。 ignore file にある単語は only file にある単語
を上書きする。
-o FILE, --only-file=FILE
キーワードのリストを FILE から取得する (このファ イ
ル は only file と呼ばれる)。インデックスを生成する
とき、このリストにない単語は無視する。各行には単 語
を一つだけ指定する。
-r, --references
各行の前にコンテクストを指示する文字列 (行頭の単語)
を付ける。 ptx は参照をコンテクストから削除しようと
し、 コンテクストが改行で終わる場合にはこれは常に成
功する。このオプションを -S と共に用いたり (これ は
デ フォルト)、 --traditional モードを用いると、参照
は常にコンテクストから削除される。
-w NUMBER, --width=NUMBER
出力行を NUMBER 桁を越えないように 切 り 捨 て る。
--right-side-refs の分は含まれないので注意。これを
用いた場合は指定桁を越えることがある。
-A, --auto-reference
各行の前にファイル名 (標準入力から読み込んだ場合 は
空 文字列)、行番号、コロンを出力する。 --references
より優先する。
-F STRING, --flac-truncation=STRING
--width によって行を切り捨てるときや、コンテクス ト
が 行 区切りを越えて続く場合に STRING (デフォルトは
`\') を出力する。
STRING 中では、(C プログラムで使うような) バック ス
ラッ シュを用いたエスケープシーケンスの多くも認識さ
れ、適切な文字に変換される。
-M STRING, --macro-name=STRING
nroff や TeX 形式で出力するときに、 STRING をマクロ
名に使う (デフォルトは `.xx')。
-O, --format=nroff
出力を nroff 形式にする。印字できない文字はスペース
に置換され、クォート文字は二重にして正しく処理で き
るようにする。各行のフォーマットは以下の通り:
.xx "TAIL" "BEFORE" "KEYWORD_AND_AFTER" "HEAD" "REF"
-R, --right-side-refs
--references と似ているが、参照を右に出力する。
-S REGEXP, --sentence-regexp=REGEXP
REGEXP を行末または文末の評価に用いる。 GNU モード
で --references オプションが指定されていない場合 の
デフォルトは以下:
[.?!][]\"')}]*\\($\\|\t\\| \\)[ \t\n]*
--traditional モードや、 GNU モードで --references
オプションが指定されている場合のデフォルトは以下:
\n
-F と同様、バックスラッシュを用いたシーケンス も 認
識・変換される。
-T, --format=tex
出力を TeX 形式にする。印字できない文字はスペースに
置換し、いくつかの特殊文字 (`$', `%', `&', `#', `_'
な ど) をバックスラッシュでプロテクトする。バックス
ラッシュは `\backslash{}' に、アクセント記号は `^\{
}' に、チルダは `~\{ }' に置換し、その他の音韻記号
も可能な限り最も適切な TeX シーケンスに変換する。各
行のフォーマットは以下の通り:
\xx {TAIL}{BEFORE}{KEYWORD}{AFTER}{HEAD}{REF}
-W REGEXP, --word-regexp=REGEXP
REGEXP に マッ チ す る 単 語をキーワードにする。
--break-file に指定されている単語も出力す る。 GNU
モードでのデフォルトは:
\w+
--traditional モードでのデフォルトは
[^ \t\n]+
REGEXP が空の場合はデフォルトを用いる。 -F と同じ
く、バックスラッシュを用いたシーケンスも認識・変 換
される。
-C, --copyright
標準出力に短い copyright メッセージを出力して正常終
了する。
--help 標準出力に使用方法のメッセージを出力して正常終了 す
る。
--version
標準出力にバージョン情報を出力して正常終了する。
例
分量が多くなるので、完全な例はここには示していない。
プレインテキスト
ptx の 著者である Francois Pinard は、私の出したメールを
ptx に通し、以下の返事を送ってくれた (*** は man ページ に
収めるために手で行った切り捨てを示す)。
>> /I've had a look at the source, and I still ***
>> /or what is a permutated index, and what it ***
> ptx merely produces a sorted list of the vocabulary you
> used, with some context for each, so I can study your
> writing style, for example. Whenever you use the word
> "and", it is preceded by a comma :-).
[ptx は君の使ったボキャブラリをソートしてリストを作り、
前後のコンテクストと共に示してくれるんだ。これを見ると、
例えば君の書き方のクセがわかるわけさ。君が "and" って
いう単語を使う前には必ずコンマを入れる、とかね :-)]
bang パス
news へのポストや email メッセージに対して grep を行い、
bang パスを取得してみよう。例えば:
lightside~% grep posts "^Path: " |cut -b 7- > paths.txt
すると paths.txt の内容は以下のようになるだろう。
lightside!host2!host3!host4!host5!news
lightside!host2!host3!host4!host6!news
lightside!host7!host8!host9|host10|host4|host5!news
lightside!host4!host5!news
lightside!host11!news
これに正規表現を正しくエスケープして ptx を用いてみよう。
lightside~% ptx --sentence-regexp="\n" \
--word-regexp="[^\!]+."
するとポストの経路の解析に適した出力が生成されるだろう。行
数 が、ここに示した 5 行よりもずっと多くなると、とても便利
になるだろう。
移植性
--traditional を指定すると、 System V の ptx と互 換 に な
る。 GNU ptx は行幅をよりうまく使えるのだが、この点も Sys-
tem V の出力に時々現れる異常をまねしようと試みる。 --tra-
ditioanl モードとの他の相違点は以下の通り:
o 説明 にあるように、引数の取り方が変わる。
o 指 定 で きるオプションが -b, -f, -g, -i, -o, -r,
-t, -w だけになる。
o デフォルトの出力形式が --format=nroff になる。
o --width で行切り捨てを行うとき、参照の幅を考慮 し
なくなる。
o 8 ビット文字とチルダ (`~') をはねる。いくつかの制
御文字もはねる。
o 入力行の 200 文字以降を黙って切り捨てる。
o ignore file と only file の両方を同時に指定できな
い。
o オ プションに記述したように、いくつかのオプション
のデフォルトが変わる。
注意
プログラムのバグについては bug-textutils@gnu.org に報告 し
てください。
man ページは Ragnar Hojland Espinosa
が作成しました。
GNU textutils 2.0 15 August 1999 PTX(1)