文字列内の一部の文字を別の文字に置き換える 質問する

文字列内の一部の文字を別の文字に置き換える 質問する

のような文字列があり、、、およびのAxxBCyyyDEFzzLMNすべての出現を に置き換えたいですxyz_

どうすればこれを実現できるでしょうか?

それが機能することはわかっていますecho "$string" | tr 'x' '_' | tr 'y' '_'が、パイプを使用せずに一度に実行したいのです。

ベストアンサー1

echo "$string" | tr xyz _

xは、、、yまたはzの各出現を に置き換え_A__BC___DEF__LMN例を示します。

echo "$string" | sed -r 's/[xyz]+/_/g'

xは、、yまたはの繰り返しをz単一の に置き換えます_A_BC_DEF_LMNこの例では次のようになります。

おすすめ記事