Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在AWK中替换正则表达式?_Awk - Fatal编程技术网

如何在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

用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 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对你意味着什么,并展示你迄今为止所做的尝试。你不需要字符集中的管道。也不会筛选出任何未进行替换的行(包括空行)