1行で別の文字列が見つかった場合は、1つの文字列を置き換える方法は?

1行で別の文字列が見つかった場合は、1つの文字列を置き換える方法は?

Unixファイルの1行に文字列「ny」が見つかった場合は、文字列「xy」を別の文字列「ab」に置き換えたいと思います。

テキスト例:

If we have xy today we can go to ny.
If we have xy tomorrow we can go to ny tomorrow.
If we have mn now we can go to ny now.

出力テキストは次のようにする必要があります。

If we have ab today we can go to ny.
If we have ab tomorrow we can go to ny tomorrow.
If we have mn now we can go to ny now.

ベストアンサー1

sedおそらく最も簡単な方法は次のとおりです。

sed '/ny/s/xy/ab/g' file

/ny/これには、パターンを検索してs/xy/ab/g実際の置換を実行する2つのサブコマンドが含まれています。これはすべての項目を置き換えることに注意してくださいxy。各行の最初の項目のみを置き換えるには、最後の項目のみを削除してくださいg

おすすめ記事