PTX
Section: User Commands (1)
Updated: 15 August 1999
Index
名前
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-truncation=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
は行幅をよりうまく使えるのだが、この点も
System V の出力に時々現れる異常をまねしようと試みる。
--traditioanl
モードとの他の相違点は以下の通り:
-
* 説明 にあるように、引数の取り方が変わる。
* 指定できるオプションが
-b, -f, -g, -i, -o, -r, -t, -w
だけになる。
* デフォルトの出力形式が
--format=nroff
になる。
* --width で行切り捨てを行うとき、参照の幅を考慮しなくなる。
* 8 ビット文字とチルダ (`~') をはねる。
いくつかの制御文字もはねる。
* 入力行の 200 文字以降を黙って切り捨てる。
* ignore file と only file の両方を同時に指定できない。
* オプションに記述したように、
いくつかのオプションのデフォルトが変わる。
注意
プログラムのバグについては bug-textutils@gnu.org に報告してください。
man ページは Ragnar Hojland Espinosa <ragnar@macula.net> が作成しました。
Index
- 名前
-
- 書式
-
- Options:
-
- 説明
-
- オプション
-
- 例
-
- プレインテキスト
-
- bang パス
-
- 移植性
-
- 注意
-
This document was created by
man2html,
using the manual pages.
Time: 11:43:53 GMT, February 29, 2000