问答详情
源自:4-7 awk-逻辑处理案例

对于去掉空白行的问题

文中是这样写的

awk -F ':'  'BEGIN{count=0}{if $1!~/^$/ ++count} {print{count}}' filename

这个$1!~/^$/ 中 !~ 是不等于么?前面章节讲的是跳跃字符~,不好理解,麻烦哪位前辈指点下这个!~和不等于是一个意思吗?但是用在其他地方是不行的。

如果我写的话会这么写

awk -F ':'  'BEGIN{count=0}{if $1!=/^$/&&$1!='\n' ++count} {print{count}}' filename



提问者:weichenNB 2018-03-26 21:53

个回答

  • weichenNB
    2018-03-27 00:01:49

    刚百度了一下 代表$1去匹配后面~之后的通配符数据,这个用法比较特殊,建议课程讲解的时候单独讲解下,和之前sed的~搞混了