加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

awk正则表达式开始行锚定匹配空格

发布时间:2020-12-14 01:24:01 所属栏目:Linux 来源:网络整理
导读:通过awk解析输入文件我遇到了awk中锚点的问题. 给出以下文件: 20152015test test 用awk输出 $awk '$1 ~ /^[0-9]/' file 20152015 用sed输出 $sed -n '/^[0-9]/p' file2015 有人可以解释我在awk中看到的行为吗? 看到了 CentOS 7,GNU bash 4.2.46,GNU Awk 4.
通过awk解析输入文件我遇到了awk中锚点的问题.

给出以下文件:

2015
2015
test
 test

用awk输出

$awk '$1 ~ /^[0-9]/' file
 2015
2015

用sed输出

$sed -n '/^[0-9]/p' file
2015

有人可以解释我在awk中看到的行为吗?

看到了

> CentOS 7,GNU bash 4.2.46,GNU Awk 4.0.2
> AIX 7,GNU bash 4.3.30,awk(AIX中的缺省版本)和gawk 4.0.2

解决方法

您将了解这个awk命令的不同之处:

awk '/^[0-9]/' file
2015

现在awk正在全线运行,就像sed而不仅仅是第一个字段.

$1~ / ^ [0-9] /仅比较第一个字段,因为空格是awk中的默认字段分隔符,因此第一个字段在两行中都是2015,而不考虑它之前的空格.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读