如何在AWK中替换正则表达式?
用AWK脚本替换正则表达式最简单的方法是什么如何在AWK中替换正则表达式?,awk,Awk,用AWK脚本替换正则表达式最简单的方法是什么 我的目标是搜索模式: /a|b/ 在句子中: I read a book "GAWK: Effective AWK Programming", but I can not figure it out. 并将其替换为: ABC/a|b/ABC 因此,结果将是: I reABCaABCd ABCaABC ABCbABCook "GAWK: Effective AWK ProgrABCaABCmming", but I cABCaABCn not f
我的目标是搜索模式:
/a|b/
在句子中:
I read a book "GAWK: Effective AWK Programming", but I can not figure it out.
并将其替换为:
ABC/a|b/ABC
因此,结果将是:
I reABCaABCd ABCaABC ABCbABCook "GAWK: Effective AWK ProgrABCaABCmming", but I cABCaABCn not figure it out.
您可以尝试:
$ awk '{ gsub(/[ab]/,"ABC&ABC")}1' file
I reABCaABCd ABCaABC ABCbABCook "GAWK: Effective AWK ProgrABCaABCmming", ABCbABCut I cABCaABCn not figure it out.
其中文件为:
I read a book "GAWK: Effective AWK Programming", but I can not figure it out.
sed
可能更适合此任务
echo "I re..." | sed 's/[ab]/ABC&ABC/g'
使用
awk
还有其他原因吗?这类问题有sed
。我为您设置了问题格式(请参见我如何缩进文本4个空格)。你的问题是解释ABC/a | b/ABC对你意味着什么,并展示你迄今为止所做的尝试。你不需要字符集中的管道。也不会筛选出任何未进行替换的行(包括空行)