2

2 つのコマンドを一緒にパイプする必要があります。最初のコマンドは、入力ファイルの XYZ を "," に置き換えてから、別の置換を行う必要があります。以下を試してみましたが失敗しました。

tr 'XYZ' ',' <input_file | xargs tr ',' ''

2 番目のコマンドがファイルからの入力を期待する場合に、2 つのコマンドを一緒にパイプする正しい方法は何ですか?

4

2 に答える 2

5
tr 'XYZ' ',' <input_file | tr ',' ''

パイプ記号|は、最初のコマンドの標準出力を 2 番目のコマンドの標準入力に接続します。trこれは、入力が標準入力ストリームに現れることを期待し、その結果を標準出力ストリームに出力するプログラムです。

これらはいくつでも接続できます。

tr 'A' 'B' < input_file | tr 'C' 'D' | tr 'E' 'F' | tr 'Z' 'Q'
于 2013-01-15T19:24:14.360 に答える
0

文字を削除するだけの場合は、-d フラグを tr に指定すると、次のように置き換える必要はありません。''

tr -d 'xyz' < file

x、y、z をすべて削除して、ファイルの内容を stdout に表示します。

于 2013-01-15T19:33:55.867 に答える