trbsd コマンド
目的
文字を変換します (BSD バージョン)。
構文
説明
trbsd コマンドは、標準入力からの文字を削除または置換して、その結果を標準出力に書き出します。trbsd コマンドは、 tr コマンドの BSD バージョンです。 trbsd コマンドは、パラメーターで指定された文字の文字列と、指定されたフラグに応じて、3 種類の操作を行います。String1 または String2 のデフォルト値は NULL 文字列です。
文字の変換
String1 および String2 パラメーターを両方とも指定し、-d フラグを指定しなければ、trbsd コマンドは String1 パラメーターで指定された標準入力からの各文字を、String2 パラメーター内の同じ位置にある文字に置き換えます。
String1 パラメーターに同じ文字を複数回指定すると、その文字は String1 パラメーター内のその文字の最後のオカレンスに対応する String2 パラメーター内の文字に変換されます。
-d フラグを使用した文字の削除
-d フラグを指定すると、trbsd コマンドは String1 パラメーターで指定された標準入力からの各文字を削除します。
-s フラグを使用した文字シーケンスの除去
-s フラグを指定すると、trbsd コマンドは String2 パラメーターで指定した任意の文字の複数の繰り返しのシーケンスのうち、最初の文字を除くすべての文字を標準入力から削除します。
-d フラグと -s フラグの両方を指定する場合は、String1 および String2 パラメーターを両方とも指定しなければなりません。
注: trbsd コマンドは、処理を開始する前に標準入力からすべての NULL 文字を削除します。
文字列表現のための特殊シーケンス
String1 および String2 パラメーターに指定する文字列は、以下の表記法を使用して指定することができます。
項目 | 説明 |
---|---|
C1- C2 | C1 文字列で指定した文字と C2 文字列で指定した文字 (それら自身も含む) の間にある文字を照合する文字の文字列を指定します。C1 文字列で指定する文字の照合順は、C2 文字列で指定する文字の照合順より前でなければなりません。 |
¥Octal | エンコードしたものが、指定された 8 進数で表される文字を指定します。8 進数は 1 桁、2 桁、3 桁の 8 進整数です。マルチバイト文字は、バイトごとに円記号と 8 進数のシーケンスを記述することにより表すことができます。 |
¥- | ¥- (円記号、負符号) は、エスケープ文字として特別な意味を持たない負符号文字自体を指定します。 |
String1 および String2 パラメーターで指定した文字列が同じ長さでなければ、trbsd コマンドは短い方の文字列を、長い方の文字列と同じ長さになるまで埋め込みます。埋め込みは、短い方の文字列の最後の文字を必要な回数だけ重複させて行います。
フラグ
項目 | 説明 |
---|---|
-A | 現行ロケール用の照合順序ではなく、範囲および文字クラス用の ASCII 照合順序を使用して、バイト単位ですべての操作を行います。 |
-c | String1 パラメーターの値を、その文字列の補数で置き換えるように指定します。この補数は、String1 パラメーターで指定した文字を除く現行ロケールの文字セットのすべての文字です。-A フラグと -c フラグを両方とも指定すると、文字はすべての 8 ビット文字コード・セットに関連した補数を取ります。 |
-d | String1 パラメーターに含まれる各文字を標準入力から削除します。 |
-s | String2 パラメーターに含まれる任意の文字の複数回の繰り返しのシーケンスのうち、最初の文字を除くすべての文字を標準入力から削除します。 |
例
- 中括弧を小括弧に変換するには、以下のように入力します。
これにより、各 { (左中括弧) は ( (左小括弧) に、各 } (右中括弧) は ) (右小括弧) に変換されます。他の文字は変更されません。trbsd '{}' '()' < textfile > newfile
- 正符号を負符号に、スラッシュ文字をアスタリスクに置き換えるには、以下のように入力します。
負符号は円記号エスケープ文字と一緒に入力しなければなりません。trbsd '+¥-/*' '¥-+*/' < textfile > newfile
- 英小文字を英大文字に変換するには、以下のように入力します。
trbsd 'a-z' 'A-Z' < textfile > newfile
- ファイル内のワードのリストを生成するには、以下のように入力します。
これにより、英小文字および英大文字以外の各文字シーケンスは 1 つの改行文字に変換されます。8 進数値 012 は、改行文字のコードです。trbsd -cs 'a-zA-Z' '¥012' < textfile > newfile
- 1 つ以上の改行文字の各シーケンスを 1 つの改行に置き換えるには、以下のように入力します。
trbsd -s '¥012' < textfile > newfile
ファイル
項目 | 説明 |
---|---|
/usr/bin/trbsd | trbsd コマンドが入っています。 |
/usr/ucb/tr | trbsd コマンドへのシンボリック・リンクが入っています。 |