'\" te .\" Copyright 1989 AT&T Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Portions Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH tr 1 "2009 年 3 月 3 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 tr \- 文字の変換 .SH 形式 .LP .nf \fB/usr/bin/tr\fR [\fB-cds\fR] [\fIstring1\fR [\fIstring2\fR]] .fi .LP .nf \fB/usr/xpg4/bin/tr\fR [\fB-cs\fR] \fIstring1\fR \fIstring2\fR .fi .LP .nf \fB/usr/xpg4/bin/tr\fR \fB-s\fR | \fB-d\fR [\fB-c\fR] \fIstring1\fR .fi .LP .nf \fB/usr/xpg4/bin/tr\fR \fB-ds\fR [\fB-c\fR] \fIstring1\fR \fIstring2\fR .fi .LP .nf \fB/usr/xpg6/bin/tr\fR [\fB-c\fR | \fB-C\fR] [\fB-s\fR] \fIstring1\fR \fIstring2\fR .fi .LP .nf \fB/usr/xpg6/bin/tr\fR \fB-s\fR [\fB-c\fR | \fB-C\fR] \fIstring1\fR .fi .LP .nf \fB/usr/xpg6/bin/tr\fR \fB-d\fR [\fB-c\fR | \fB-C\fR] \fIstring1\fR .fi .LP .nf \fB/usr/xpg6/bin/tr\fR \fB-ds\fR [\fB-c\fR | \fB-C\fR] \fIstring1\fR \fIstring2\fR .fi .SH 機能説明 .sp .LP \fBtr\fR ユーティリティーは、選択した文字を置き換えるか削除して、標準入力を標準出力へコピーします。指定されたオプションと \fIstring1\fR と \fIstring2\fR の両オペランドにより、文字や単一文字比較要素のコピー中に発生する変換を制御します。 .SH オプション .sp .LP サポートしているオプションは、次のとおりです。 .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .RS 6n .rt \fIstring1\fR で指定された値のセットを補完します。 .RE .sp .ne 2 .mk .na \fB\fB-C\fR\fR .ad .RS 6n .rt \fIstring1\fR で指定された文字のセットを補完します。 .RE .sp .ne 2 .mk .na \fB\fB-d\fR\fR .ad .RS 6n .rt \fIstring1\fR で指定された文字を入力中からすべて削除します。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 6n .rt 繰り返して現れた文字を 1 個の文字に置き換えます。 .RE .sp .LP \fB-d\fR オプションを指定しない場合、 以下の処理が行われます。 .RS +4 .TP .ie t \(bu .el o \fIstring1\fR で指定した配列中の文字が入力中で見つかった場合、\fIstring2\fR で指定した配列中の同じ位置にある文字に置き換えます。\fIstring2\fR が示す配列が \fIstring1\fR が示す配列より短い場合、処理の結果は不確定です。 .RE .RS +4 .TP .ie t \(bu .el o \fB-c\fR オプションを指定した場合、\fIstring1\fR で指定した値の補完は、配列内に、バイナリ値による昇順で配置されます。 .RE .RS +4 .TP .ie t \(bu .el o \fB-C\fR オプションを指定すると、\fIstring1\fR で指定された文字の補完集合 (\fBLC_CTYPE\fR の現在の設定値で定義されている現文字セット内のすべての文字から、\fIstring1\fR オペランドで実際に指定された文字を除いたもの) が、\fBLC_COLLATE\fR の現在の設定値で定義されている照合順序に従って、昇順で配列に置かれます。 .RE .RS +4 .TP .ie t \(bu .el o なお文字クラス表現や同等クラス表現により指定される文字の順序は 定義されていないため、そのような表現を使用するのは、複数の文字を同一の文字にマップする場合に限るべきです。ただし前述のように、大文字と小文字との間の変換は例外です。 .RE .sp .LP \fB-d\fR オプションを指定すると、以下の処理が行われます。 .RS +4 .TP .ie t \(bu .el o \fIstring1\fR で指定した配列中にある入力文字は削除されます。 .RE .RS +4 .TP .ie t \(bu .el o \fB-C\fR オプションも一緒に指定された場合、\fIstring1\fR で指定した文字を除くすべての文字が削除されます。\fB-\fR\fB-s\fR オプションが指定されていなければ、\fIstring2\fR の内容は無視されます。 .RE .RS +4 .TP .ie t \(bu .el o \fB-c\fR オプションを指定した場合、\fIstring1\fR で指定した値の補完は、配列内に、バイナリ値による昇順で配置されます。 .RE .RS +4 .TP .ie t \(bu .el o \fB-d\fR と \fB-s\fR の 2 つのオプションに、同じ文字列を指定することはできません。2 つのオプションをともに指定する場合、削除用の \fIstring1\fR と圧縮用の \fIstring2\fR を両方とも指定しなければなりません。 .RE .sp .LP \fB-s\fR オプションを指定すると、何らかの削除または変換発生後に同じ文字が連続して出現し、その文字が最終オペランドで指定した配列中に存在していれば、一連の文字はその文字 1 個に置き換えられます。最終オペランドとして、次の例に示すような文字クラスが指定されたとします。 .sp .in +2 .nf \fBtr -s '[:space:]'\fR .fi .in -2 .sp .sp .LP この場合、最終オペランドの配列には、その文字クラスのすべての文字が含まれることになります。ただし、前述のように、大文字と小文字の変換が次のように指定された場合は異なります。 .sp .in +2 .nf \fBtr -s '[:upper:]' '[:lower:]'\fR .fi .in -2 .sp .sp .LP この場合、最終オペランドの配列には、\fBtoupper\fR と \fBtolower\fR の対のうち 2 番目の文字として定義されている方の文字だけが含まれます (\fBtoupper\fR(3C) と \fBtolower\fR(3C) を参照)。 .sp .LP \fIstring1\fR または \fIstring2\fR に空の文字列を指定した場合、処理の結果は予測できません。 .SH オペランド .sp .LP 次のオペランドがサポートされています。 .sp .ne 2 .mk .na \fB\fIstring1\fR\fR .ad .br .na \fB\fIstring2\fR\fR .ad .RS 11n .rt 変換を制御する文字列です。各文字列は、変換に使用される文字配列に置き換えられる、一群の文字を表します。 .RE .sp .LP オペランド \fIstring1\fR と \fIstring2\fR により 2 個の文字配列を定義します。以下に示す要素を使って、文字や 単一文字照合要素を指定できます。これらの要素を使った結果、複数文字 照合要素が得られた場合には、\fBtr\fR は配列からその複数文字要素を除きます。このとき、診断メッセージは発行しません。 .sp .ne 2 .mk .na \fB\fIcharacter\fR\fR .ad .RS 16n .rt 以下の説明文中に現れない文字は、その文字自体を表します。 .RE .sp .ne 2 .mk .na \fB\fB\\fR\fIoctal\fR\fR .ad .RS 16n .rt 8 進数のシーケンスを使って、具体的なコード値を示す文字を表すことができます。8 進数シーケンスは、バックスラッシュの後に最大 1 、 2 、または 3 桁の 8 進数 (01234567) を付加したものです。ここで指定したシーケンスにより、 1 、 2 、または 3 桁の 8 進整数で表される文字が、配列中に配置されます。複数バイト文字は、この種のエスケープシーケンスがいくつか連続したものを必要とします。そのとき、各バイトの先頭に \ が必要です。 .RE .sp .ne 2 .mk .na \fB\fB\\fR\fI character\fR \fR .ad .RS 16n .rt バックスラッシュ付きのエスケープシーケンスとして、\fB\a\fR、\fB\b\fR、\fB\f\fR、\fB\n\fR、\fB\r\fR、\fB\t\fR、\fB\v\fR がサポートされています。バックスラッシュの後に、これ以外の文字で 8 進数字でもない文字を指定した場合、結果は不確定です。 .RE .SS "/usr/xpg4/bin/tr" .sp .ne 2 .mk .na \fB\fIc-c\fR\fR .ad .RS 7n .rt .RE .SS "/usr/bin/tr" .sp .ne 2 .mk .na \fB[\fIc-c\fR]\fR .ad .RS 13n .rt POSIX ロケールでは、照合シーケンスで定義されたように、この構文は範囲端点間にある照合要素の範囲を表します (どちらの端点も \fB\\fR\fIoctal\fR 形式の 8 進数シーケンスでない場合に限る)。この範囲に含まれる文字または照合要素は、昇順で配列中に置かれます。照合シーケンスで 2 番目の端点が開始端点の前に来る場合は、照合要素の範囲が空であるのか、またはこの構文が無効として処理されるかどうかは特定されません。POSIX 以外のロケールでは、この構文の動作は特定されません。 .sp 範囲端点のどちらかまたは両方が \fB\\fR\fIoctal\fR 形式の 8 進数シーケンスである場合、2 つの範囲端点間にあるコーディングされた特定のバイナリの範囲を表します。 .RE .sp .ne 2 .mk .na \fB\fB[:\fR\fIclass\fR\fB:]\fR\fR .ad .RS 13n .rt 現在の \fBLC_CTYPE\fR ロケールカテゴリの設定値に従い、指定された文字クラスに属するすべての文字を表します。以下の文字クラス名が \fIstring1\fR として指定できます。 .sp .in +2 .nf alnum blank digit lower punct upper alpha cntrl graph print space xdigit .fi .in -2 .sp さらに、\fB[:\fR\fIname\fR\fB:]\fR 形式の文字クラス式も指定できます。ただし、\fIname\fR が \fBLC_CTYPE\fR カテゴリ内で \fBcharclass\fR 定義を与えられているようなロケールにおいてのみです。 .sp \fB-d\fR と \fB-s\fR の両オプションが指定されていれば、どんな文字クラス名でも \fIstring2\fR に指定できます。そうでなければ、\fBlower\fR または \fBupper\fR だけが \fIstring2\fR として指定できます。ただし、これに対応する文字クラス \fBupper\fR または \fBlower\fR が \fIstring1\fR 中の同等の位置に指定された場合だけです。このような指定は、大文字と小文字間の変換要求と見なされます。\fB[:lower:]\fR が \fIstring1\fR 中に現れ、\fB[:upper:]\fR が \fIstring2\fR 中に現れた場合、現在のロケールの \fBLC_CTYPE\fR カテゴリ中の \fBtoupper\fR マッピングから得られる文字が、配列に含まれることになります。\fB[:upper:]\fR が \fIstring1\fR 中に現れ、\fB[:lower:]\fR が \fIstring2\fR 中に現れた場合、現在のロケールの \fBLC_CTYPE\fR カテゴリ中の \fBtolower\fR マッピングから得られる文字が、配列に含まれることになります。各マッピングの対の最初の文字が \fIstring1\fR の配列に、 2 番目の文字が \fIstring2\fR の配列に置かれます。配列内での位置は同じになります。 .sp 大文字と小文字間の変換の場合を除き、文字クラス式で指定された文字を配列中に置く順序は決まっていません。 .sp \fIclass\fR に指定した文字が現在のロケール用の正しい文字クラスを表していない場合、処理の結果は予測できません。 .RE .sp .ne 2 .mk .na \fB\fB[=\fR\fIequiv\fR\fB=]\fR\fR .ad .RS 13n .rt 現在の \fBLC_COLLATE\fR ロケールカテゴリの設定による定義に従い、指定された文字クラスに属するすべての文字を表します。\fIequiv\fR と同じ同等クラスに属するすべての文字または照合要素を表します。同等クラス式は \fIstrint1\fR に指定できます。また \fB-d\fR と \fB-s\fR の両オプションを指定した場合には、\fIstring2\fR にも指定できます。この同等クラスに属する文字を配列に置く順序は、決まっていません。 .RE .sp .ne 2 .mk .na \fB[\fIx*n\fR]\fR .ad .RS 13n .rt \fIx\fR が示す文字の \fIn\fR 回の連続発生を表します。この式は複数の文字を 1 個の文字にマップするために使用するので、\fIstring2\fR にだけ指定できます。\fIn\fR の先頭の数字が \fB0\fR のとき、この数値は 8 進数と見なされます。それ以外の場合、10 進数と見なされます。 .sp \fIn\fR を省略した場合、または \fB0\fR の場合は、\fB/usr/bin/tr\fR はこれを非常に大きいと解釈します。\fB/usr/xpg4/bin/tr\fR および \fB/usr/xpg6/bin/tr\fR は、これを \fIstring2\fR ベースのシーケンスを \fIstring1\fR ベースのシーケンスの長さまで拡張できるほど十分な大きさがあると解釈します。 .RE .SH 使用法 .sp .LP ファイルが 2G バイト (2^31 バイト) 以上ある場合の \fBtr\fR の動作については、\fBlargefile\fR(5) を参照してください。 .SH 使用例 .LP \fB例 1 \fR文字リストを作成する .sp .LP 以下の例は、\fIfile1\fR 中にあるすべての単語を 1 行に 1 個の形式で \fIfile2\fR に出力します。ここで言う単語とは、最大文字列を表します。 .sp .in +2 .nf \fBtr \(mics "[:alpha:]" "[\en*]" file2\fR .fi .in -2 .sp .LP \fB例 2 \fR文字を変換する .sp .LP 次の例は、\fBfile1\fR 中のすべての小文字を大文字に変換し、その結果を標準出力に 書き出します。 .sp .in +2 .nf \fBtr "[:lower:]" "[:upper:]" file2\fR .fi .in -2 .sp .SH 環境 .sp .LP \fBtr\fR の実行に影響を与える次の環境変数についての詳細は、\fBenviron\fR(5) を参照してください。 \fBLANG\fR、 \fBLC_ALL \fR、\fBLC_COLLATE\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR、および \fBNLSPATH\fR。 .SH 終了ステータス .sp .LP 次の終了ステータスが返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 入力データはすべて正常に処理されました。 .RE .sp .ne 2 .mk .na \fB>\fB0\fR\fR .ad .RS 6n .rt エラーが発生した。 .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .SS "/usr/bin/tr" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ CSI有効 .TE .SS "/usr/xpg4/bin/tr" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/xopen/xcu4 _ CSI有効 _ インタフェースの安定性確実 _ 標準T{ \fBstandards\fR(5) を参照してください。 T} .TE .SS "/usr/xpg6/bin/tr" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/xopen/xcu6 _ CSI有効 _ インタフェースの安定性確実 _ 標準T{ \fBstandards\fR(5) を参照してください。 T} .TE .SH 関連項目 .sp .LP \fBed\fR(1), \fBsed\fR(1), \fBsh\fR(1), \fBtolower\fR(3C), \fBtoupper\fR(3C), \fBascii\fR(5), \fBattributes\fR(5), \fBenviron\fR(5), \fBlargefile\fR(5), \fBregex\fR(5), \fBstandards\fR(5) .SH 注意事項 .sp .LP 以前のバージョンとは違って、\fB/usr/xpg4/bin/tr\fR は入力ストリーム中の \fBNUL\fR 文字を正しく処理します。\fBNUL\fR 文字は \fBtr\fR \fB-d\fR \fB\&'\000'\fR によって取り除くことができます。