edで複数の文字を変更できますか?

edで複数の文字を変更できますか?

内容が文字aとbで構成される「ab」というテキストがあります。 edでsコマンドを使用してaをbに、bをaにすぐに変更したいと思います。ただし、段階的に変更すると、ご存知のように、すべてのテキストはaまたはbになります。 aをbに、bをaに同時に切り替える方法はありますか?

ベストアンサー1

yネイティブではありません。tr///sed()とPerl(別名)で見られる音域コマンドが不足していますy///。ただし、ansliterateコマンド自体を使用して偽にすることはできますtr

ed -s input <<< $'e !tr ab ba < %\nw\nq'

このeコマンドは、ファイルの内容をシェル escape コマンドの結果に置き換えます。このコマンドは a を b に、b を a に翻訳し、現在のファイル名を入力として提供します。その後、新しいファイルがwディスクに書き込まれ、q編集されます。

おすすめ記事