次のように、ある文字セットを別のセットの対応する文字に置き換えたいと思います。
original set: ots
"target" set: u.x
foobartest → fuubar.ex.
このような翻訳/翻訳はこのコマンドの特徴ですtr
。
$ echo 'foobartest' | tr 'ots' 'u.x'
fuubar.ex.
残念ながら、tr
その場でファイルを変更することはサポートされていませんsed
。一時ファイルホイールを再作成する必要がないようにこれを
使用したいと思います。sed
ベストアンサー1
sed
ほとんどの実装でy
は、少なくともうまく機能するコマンドを使用すると、次のようになります。tr
$ echo 'foobartest' | sed 'y/ots/u.x/'
fuubar.ex.
このy
コマンドはPOSIXsed
仕様したがって、すべてのプラットフォームで実行する必要があります。
そのため、sed
ファイルを編集されたバージョンに置き換えることができ、面倒な一時ファイルビジネスを節約できます(実装がPOSIXで指定しない対応するsed
オプションをサポートしている場合)。-i
$ sed -i 'y/ots/u.x/' some-file.txt
現在のBSDの実装sed
tr
一部の特殊なケースでは、実際に動作を反映していません。