这似乎应该很简单,但是awk的gensub/gsub/sub行为对我来说一直不太清楚,现在我无法让它按照文档所说的去做(以及与其他类似工具的经验表明应该可以工作的方式)。具体而言,我想从替换字符串中访问正则表达式中的“捕获组”。以下是我认为awk语法应该如下:
awk '{ gsub(/a(b*)c/, "Here are bees: \1"); print; }'
那应该把 "abbbc" 转换成 "Here are bees: bbb"。但是在 Ubuntu 9.04 上,至少对我而言它没有转换成功。相反, "\1" 被渲染为 ^A;也就是说,它变成了字符代码为1的字符。这当然不是我想要的结果。我该怎么做呢?谢谢。
echo xxxabbcxxx
命令 - awk的“解决方案”会出现问题。 - Aleksandr Levchuk