aboutsummaryrefslogtreecommitdiff
path: root/ja/man/man1/tr.1
diff options
context:
space:
mode:
Diffstat (limited to 'ja/man/man1/tr.1')
-rw-r--r--ja/man/man1/tr.1288
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 システムへの可搬性のあるシェルスクリプトを
+作ろうとするならば、この振る舞いを当てにせずに、``[#*]'' と
+いう表現を使うべきです。