GAWK 命令 - 2
正则匹配#
gawk
默认使用 ERE 模式。
基础用法#
首先创建 foo
文本文件。
这里是用整行去匹配的,等价于 $0
。
指定字段匹配#
$2 ~
指定了使用第 2 个字段匹配。
sub#
Substitution,替换第一个匹配的字符串。
基本语法#
regex
:匹配的正则表达式。replacement
:替换匹配的字符串。target
:可选,目标字符串,默认 $0
。
不提供 target
,默认是整行匹配。
基础用法#
指定替换第 3 列。
特殊符号 &#
gsub#
Global Substitution,全局替换。
基本语法#
regex
:匹配的正则表达式。replacement
:替换匹配的字符串。target
:可选,目标字符串,默认 $0
。
不提供 target
,默认是整行匹配。
基础用法#
指定替换第 3 列。
特殊符号 &#
匹配单词首字符#
\<
表示单词的开头。
匹配单词尾字符#
\>
表示单词的结尾。
gensub#
General Substitution,通用替换。
- 比
sub
和 gsub
强大。 - 支持捕获组(Capture Groups)。
- 可选择替换特定匹配项。
- 不原地修改,返回替换后的字符串。
sub
和 gsub
不支持捕获组。
基本语法#
regex
:匹配的正则表达式。replacement
:替换字符串,可用捕获组。how
:可指定全局或第 N 次匹配替换。target
:可选,目标字符串,默认 $0
。
基础用法#
使用 g
全局替换。
替换第 2 个匹配项。
使用捕获组#
\1
表示第一个匹配参数。