文字列の置換


以下のような置換を行いたいと最初書いていましたが、Ed が怒るのも当然で、実際には少し異なります。

xxxxA      ->     xxxxBC
xxxAxxxx   ->     xxxBxxxxC

なんだか良く分からない 'A' という文字列を 'B' にして最後に 'C' を付けることのようです。

したがって、以下のようなものが回答でした。

BEGIN { OFS = FS = "\t" }
{ for (i = 1; i <= NF; ++i) {
    if ($i ~ /A/) {
      gsub(/A/, "B", $i)
      $i = $i "C"
}  }  }

1

最後の '1' は常に True の意味での '1' です。