tr(1) FreeBSD 一般コマンドマニュアル

tr

前のページ 上に戻る 次のページ

tr


     tr [-cu] -d string1
     tr [-cu] -s string1
     tr [-cu] -ds string1 string2


解説

     tr ユーティリティは、選択された文字を置き換え、または削除しながら標準入力
     を標準出力にコピーします。

     以下のオプションが利用できます:

     -c      string1 に含まれる文字の補集合を表します。つまり、``-c ab'' は、
             ``a'' と ``b'' を除く全ての文字を含みます。

     -d      -d オプションは、入力から指定した文字を削除します。

     -s      -s オプションは、最後の引数 ( string1string2 のどちらか) に含
             まれている同一の文字が、入力の中に連続して現れるとき、それを 1 つ
             の文字に圧縮します。この圧縮は、全ての削除や変換が終わった後に行
             われます。

     -u      -u オプションは出力がバッファリングされないことを保証します。

     書式の最初の形式では、 string1 に含まれる文字は、 string1 の 1 文字目は
     string2 の 1 文字目と置き換え...というように string2 に置き換えられます。
     もし string1string2 よりも長い場合は、 string2 の最後の文字が、
     string1 と対応させるのに足りない分だけ続いているものとみなされます。

     書式の 2 番目の形式では、 string1 に含まれる文字は、入力から削除されま
     す。

     書式の 3 番目の形式では、 string1 に含まれる文字は、 -s オプションの解説
     の通りに圧縮されます。

     書式の 4 番目の形式では、 string1 に含まれる文字は入力から削除され、
     string2 に含まれる文字は -s オプションの解説の通りに圧縮されます。

     string1, string2 の文字の集合を指定するのに、以下のような記述方法が利用で
     きます:

     character  以下で示したものを除く、その文字自身を表す通常の文字 (キャラク
                タ) です。

     \octal     バックスラッシュに続き、1〜3 桁の 8 進数が続いたものは、その値
                を符号化した文字を表現します。この 8 進数の並びに続いて数字を
                文字として指定したい場合には、8 進数の並びが 3 桁となるよう
                に、8 進数の上位桁 (左) に 0 を埋めてください。

     \character
                バックスラッシュに続く、特定の特殊な文字は、特殊な値に対応して
                います。

                \a    <ベル文字>
                以下の通りです:


                alnum     <英数字>
                alpha     <英字>
                cntrl     <コントロール文字>
                digit     <数字>
                graph     <グラフィック文字>
                lower     <英小文字>
                print     <表示可能文字>
                punct     <句読点>
                space     <空白文字>
                upper     <英大文字>
                xdigit    <16進数>

                ``upper'' と ``lower'' を除いたクラスでは、クラスに含まれる文
                字の順序は特定されていません。``upper'' と ``lower'' では、文
                字は昇順に並んでいます。

                どのような ASCII 文字が、これらのクラスに含まれているのかとい
                う情報を調べたい場合には、 ctype(3) および関連マニュアルを参照
                してください。

     [=equiv=]  全ての文字、もしくは equiv と同じ同値関係クラスに属する区分要
                素を表します。もし、同値関係クラス内で、2 次的な順序付けが存在
                する場合、文字は昇順に並べられます。存在しない場合には、符号化
                された値に従った順序付けがなされます。同値関係クラスの例として
                は、スペイン語における ``c'' と ``ch'' などがあげられます。し
                かし、英語にはこのような同値関係クラスはありません。

     [#*n]      # で指定された n 個の文字の繰り返しを表現します。この表現は、
                string2 で指定されたときのみ有効です。もし n が省略された場
                合、または 0 の場合は、 string2string1 の長さを満たすよう
                な、十分大きな値として解釈されます。 n は、0 で始まる場合には
                8 進数として、そうでない場合には 10 進数として解釈されます。


診断

     ユーティリティ tr は、成功すると 0 で、エラーがあった場合は >0 で終了しま
     す。


使用例

     以下の例は、シェルに対して与えられたものです:

     file1 に含まれる単語 (文字の最大長の並び) のリストを、各行につき 1 つずつ
     出力します。

           tr -cs "[:alpha:]" "\n" < file1

     file1 の内容を大文字に変換します。

           tr "[:lower:]" "[:upper:]" < file1

     その並びに依存しているあらゆるスクリプトは、``a\-z'' と書き直す必要があり
     ます。

     tr ユーティリティは昔から、入力における NUL バイトの操作を禁止されていま
     した。さらに、入力から NUL を取り除いていました。この実装では、この振る舞
     いはバグとみなされ、削除されました。

     tr ユーティリティは昔から、たとえば、2 つの文字列が指定されない限り -c お
     よび -s オプションを無視する、などの文法上の誤りを極端なまでに許していま
     した。この実装では、不正な文法は許されなくなっているはずです。


規格

     tr ユーティリティは、 IEEE Std 1003.2 (``POSIX.2'') と互換です。 string2string1 よりも短い場合に string2 の最後の文字が複製される機能は、
     POSIX では許されていますが必須ではないことに注意して下さい。他の POSIX シ
     ステムへの可搬性のあるシェルスクリプトを作ろうとするならば、この振る舞い
     を当てにせずに、``[#*]'' という表現を使うべきです。 -u オプションは IEEE
     Std 1003.2 (``POSIX.2'') 標準の拡張です。

FreeBSD 4.4                    October 11, 1997                    FreeBSD 4.4

ABELNET VPSサービス