diff options
Diffstat (limited to 'ja/man/man1/tr.1')
-rw-r--r-- | ja/man/man1/tr.1 | 288 |
1 files changed, 288 insertions, 0 deletions
diff --git a/ja/man/man1/tr.1 b/ja/man/man1/tr.1 new file mode 100644 index 0000000000..ff9f1e26f9 --- /dev/null +++ b/ja/man/man1/tr.1 @@ -0,0 +1,288 @@ +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" This code is derived from software contributed to Berkeley by +.\" the Institute of Electrical and Electronics Engineers, Inc. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)tr.1 8.1 (Berkeley) 6/6/93 +.\" jpman %Id: tr.1,v 1.4 1997/06/13 00:21:44 jsakai Stab % +.\" +.Dd June 6, 1993 +.Dt TR 1 +.Os +.Sh 名称 +.Nm tr +.Nd 文字の置換 +.Sh 書式 +.Nm tr +.Op Fl cs +.Ar string1 string2 +.br +.Nm tr +.Op Fl c +.Fl d +.Ar string1 +.br +.Nm tr +.Op Fl c +.Fl s +.Ar string1 +.br +.Nm tr +.Op Fl c +.Fl ds +.Ar string1 string2 +.Sh 解説 +.Nm +ユーティリティは、選択された文字を置き換え、または削除しながら +標準入力を標準出力にコピーします。 +.Pp +以下のオプションが利用できます: +.Bl -tag -width Ds +.It Fl c +.Ar string1 +に含まれる文字の補集合を表します。つまり、``-c ab'' は、 +``a'' と ``b'' を除く全ての文字を含みます。 +.It Fl d +.Fl d +オプションは、入力から指定した文字を削除します。 +.It Fl s +.Fl s +オプションは、最後の引数 ( +.Ar string1 +か +.Ar string2 +のどちらか) に含まれている同一の文字が、入力の中に連続して現れるとき、 +それを 1 つの文字に圧縮します。この圧縮は、全ての削除や変換が終わった +後に行われます。 +.El +.Pp +書式の最初の形式では、 +.Ar string1 +に含まれる文字は、 +.Ar string1 +の 1 文字目は +.Ar string2 +の 1 文字目と置き換え...というように +.Ar string2 +に置き換えられます。もし +.Ar string1 +が +.Ar string2 +よりも長い場合は、 +.Ar string2 +の最後の文字が、 +.Ar string1 +と対応させるのに足りない分だけ続いているものとみなされます。 +.Pp +書式の 2 番目の形式では、 +.Ar string1 +に含まれる文字は、入力から削除されます。 +.Pp +書式の 3 番目の形式では、 +.Ar string1 +に含まれる文字は、 +.Fl s +オプションの解説の通りに圧縮されます。 +.Pp +書式の 4 番目の形式では、 +.Ar string1 +に含まれる文字は入力から削除され、 +.Ar string2 +に含まれる文字は +.Fl s +オプションの解説の通りに圧縮されます。 +.Pp +.Ar string1 , +.Ar string2 +の文字の集合を指定するのに、以下のような記述方法が利用できます: +.Bl -tag -width [:equiv:] +.It character +以下で示したものを除く、その文字自身を表す +通常の文字 (キャラクタ) です。 +.It \eoctal +バックスラッシュに続き、1〜3 桁の 8 進数が続いたものは、 +その値を符号化した文字を表現します。この 8 進数の並びに続いて +数字を文字として指定したい場合には、8 進数の並びが 3 桁と +なるように、8 進数の上位桁 (左) に 0 を埋めてください。 +.It \echaracter +バックスラッシュに続く、特定の特殊な文字は、特殊な値に対応しています。 +.sp +.Bl -column +.It \ea <ベル文字> +.It \eb <バックスペース> +.It \ef <フォームフィード> +.It \en <改行> +.It \er <復帰> +.It \et <水平タブ> +.It \ev <垂直タブ> +.El +.sp +これら以外のバックスラッシュに続く文字は、その文字自身に対応します。 +.It c-c +両端を指定することにより、文字の範囲を表します。両端を含みます。 +.It [:class:] +定義された文字クラスに属する、全ての文字を表します。 +クラス名は以下の通りです: +.sp +.Bl -column +.It alnum <英数字> +.It alpha <英字> +.It cntrl <コントロール文字> +.It digit <数字> +.It graph <グラフィック文字> +.It lower <英小文字> +.It print <表示可能文字> +.It punct <句読点> +.It space <空白文字> +.It upper <英大文字> +.It xdigit <16進数> +.El +.Pp +\." .Fl d +\." と +\." .Fl s +\." の両方のオプションが指定された場合には、 +\." すべてのクラスを +\." .Ar string1 +\." および +\." .Ar string2 +\." に使うことができます。 +\." そうでない場合には、 +\." .Ar string2 +\." には、``upper'' もしくは ``lower'' +\." しか指定できません。 +\." しかも、対応するクラス (``upper'' に対する ``lower''、逆も同様)が +\." .Ar string1 +\." に指定されているとき限ります。 +\." .Pp +``upper'' と ``lower'' を除いたクラスでは、クラスに含まれる文字の +順序は特定されていません。``upper'' と ``lower'' では、 +文字は昇順に並んでいます。 +.Pp +どのような ASCII 文字が、これらのクラスに含まれているのかという情報を +調べたい場合には、 +.Xr ctype 3 +および関連マニュアルを参照してください。 +.It [=equiv=] +全ての文字、もしくは +.Ar equiv +と同じ同値関係クラスに属する区分要素を表します。もし、 +同値関係クラス内で、2 次的な順序付けが存在する場合、 +文字は昇順に並べられます。存在しない場合には、 +符号化された値に従った順序付けがなされます。 +同値関係クラスの例としては、スペイン語における ``c'' と ``ch'' などが +あげられます。しかし、英語にはこのような同値関係クラスはありません。 +.It [#*n] +.Ar # +で指定された +.Ar n +個の文字の繰り返しを表現します。この表現は、 +.Ar string2 +で指定されたときのみ有効です。 +もし +.Ar n +が省略された場合、または 0 の場合は、 +.Ar string2 +が +.Ar string1 +の長さを満たすような、十分大きな値として解釈されます。 +.Ar n +は、0 で始まる場合には 8 進数として、そうでない場合には 10 進数として +解釈されます。 +.El +.Pp +.Nm +ユーティリティは、成功の場合には 0、エラーが発生した +場合には 0 より大きい値を返します。 +.Sh 使用例 +以下の例は、シェルに対して与えられたものです: +.sp +file1 に含まれる単語 (文字の最大長の並び) のリストを、 +各行につき 1 つずつ出力します。 +.sp +.D1 Li "tr -cs \*q[:alpha:]\*q \*q\en\*q < file1" +.sp +file1 の内容を大文字に変換します。 +.sp +.D1 Li "tr \*q[:lower:]\*q \*q[:upper:]\*q < file1" +.sp +表示できない文字を file1 から削除します。 +.sp +.D1 Li "tr -cd \*q[:print:]\*q < file1" +.Sh 互換性 +古くからの BSD の実装および POSIX 標準では、文字の +範囲指定には ``c-c'' という文法を用いますが、 +古い System V の実装では ``[c-c]'' を用いています。 +System V のシェルスクリプトは、文字の置換を行おうとする +場合にはうまく動作するはずです。つまり、``tr [a-z] [A-Z]'' と +指定した場合には、 +.Ar string1 +の ``['' が +.Ar string2 +の ``['' に変換されるため、うまく動作します。 +しかし、シェルスクリプトが、``tr -d [a-z]'' というコマンドのように +文字の削除や圧縮を行う場合には、``['' と ``]'' の文字が +削除や圧縮の対象に含まれてしまいます。古い実装の System V では +このようには動作しません。さらに、``a'', ``-'', ``z'' と +いう 3 つの文字を表現するのに、``a-z'' と記述するような、 +その並びに依存しているあらゆるスクリプトは、``a\e-z'' と書き +直す必要があります。 +.Pp +.Nm +ユーティリティは昔から、入力における NUL バイトの操作を +禁止されていました。さらに、入力から NUL を取り除いていました。 +この実装では、この振る舞いはバグとみなされ、削除されました。 +.Pp + +.Nm +ユーティリティは昔から、たとえば、2 つの文字列が指定されない限り +.Fl c +および +.Fl s +オプションを無視する、などの文法上の誤りを +極端なまでに許していました。この実装では、不正な文法は +許されなくなっているはずです。 +.Sh 規格 +.Nm +ユーティリティは、 +.St -p1003.2 +と互換です。 +.Ar string2 +が +.Ar string1 +よりも短い場合に +.Ar string2 +の最後の文字が複製される機能は、 +POSIX では許されていますが必須ではないことに注意して下さい。 +他の POSIX システムへの可搬性のあるシェルスクリプトを +作ろうとするならば、この振る舞いを当てにせずに、``[#*]'' と +いう表現を使うべきです。 |