通过awk解析输入文件我遇到了awk中锚点的问题.
给出以下文件:
2015
2015
test
test
Run Code Online (Sandbox Code Playgroud)
用awk输出
$ awk '$1 ~ /^[0-9]/' file
2015
2015
Run Code Online (Sandbox Code Playgroud)
用sed输出
$ sed -n '/^[0-9]/p' file
2015
Run Code Online (Sandbox Code Playgroud)
有人可以解释我在awk中看到的行为吗?
看到了
您将了解这个awk命令的不同之处:
awk '/^[0-9]/' file
2015
Run Code Online (Sandbox Code Playgroud)
现在awk正在全线运行,就像sed而不仅仅是第一个字段.
$1 ~ /^[0-9]/只比较第一个字段,因为空格是awk中的默认字段分隔符,因此第一个字段2015位于两个行中,与之前的空格无关.