スポンサーリンク

n番目に出現した文字列を置換

※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-

awkのgensubは、gsub()やsub()と異なり、n番目に出現した文字列を置換することができます。
(nを指定できる)

参考:awkの文字列置換関数gsub()の使い方
参考:awkのsub()で文字列置換する

入力文字列に対して、n番目に出現した置換対象文字列を置換文字列で置換します。

r = gensub( 置換対象文字列, 置換文字列, n, 入力文字列 )

例えば、下記のin.txtがあったとします。

下記がサンプルコードになります。
1回目に出現した"-"を"/"に置換します。

下記が実行結果になります。

2回目に出現した"-"を"/"に置換します。

下記が実行結果になります。

スポンサーリンク

入力文字列自体は置換されない。戻り値に置換後の文字列が返る

入力文字列自体は置換されず、戻り値に置換後の文字列が返ることに注意が必要です。

下記がサンプルコードになります。

下記が実行結果になります。
$0自体は置換されないことが確認できます。

全ての文字列を置換する場合には、引数にgを設定する

ほぼ、機能的にはgsub()と近くなります。
全ての文字列を置換する場合には、引数にgを設定します。

参考:awkの文字列置換関数gsub()の使い方

下記がサンプルコードになります。

下記が実行結果になります。

スポンサーリンク