当前位置:  技术问答>linux和unix

awk如何匹配以#开头的字符串?

    来源: 互联网  发布时间:2015-11-02

    本文导语:  我想在一个文件里依次读入一行,如果这行以#开头就将其忽略。 我写的语句如下: cat /filename | awk 'BEGIN {i=0}{if("$1"!~/#*/) i+=1} END {print i}'                                  ~~~~~~~~~~...

我想在一个文件里依次读入一行,如果这行以#开头就将其忽略。
我写的语句如下:
cat /filename | awk 'BEGIN {i=0}{if("$1"!~/#*/) i+=1} END {print i}'
                                 ~~~~~~~~~~ 
我写这个语句的本意是:如果第一个域不是以#开头的话 i就加1。if里面我的本意是用正则表达式来做。
我将/#*/认为是以#开头的字符串

但是结果不对:(
小弟新学shell 编程,忘大虾赐教!

|
cat ./filename | awk 'BEGIN {i=0}{if($1 !~ /^#/) i+=1} END {print i}'

这个脚本应该这样写

|
正则表达式:/#*/,它是意思是匹配0或多个字符"#",这里"*"的含义和DOS下文件匹配的"*"的含义不一样.这里的意思是"0或多个前面的字符".而不是"0或多个字符",把:/#*/改成:/#.*/应该可以了.

|
用if (substr($1, 1, 1) == "#")判断不就可以了么!!!

    
 
 

您可能感兴趣的文章:

  • awk 匹配字符串
  • 用awk如何在当前目录下所有文件中搜索字符串
  • awk怎样取到符合模式的字符串的各个部分?
  • sun机器中如何通过awk命令截取字符串??
  • awk里面能不能拼接字符串
  • 字符串过滤-如何用脚本awk或者sed实现呢
  • awk中将字符串转化为时间戳的办法
  • [shell问题]用16进制 替换 普通字符串 awk 用法
  • awk 或sed的问题,字符串替换
  • awk shell。匹配字符串
  • shell中调用awk,切分字符串
  • awk如何看a.txt里的字符串 在b.txt里总共出现过多少次
  • 帮忙用awk解析一下以下字符串的表达式 多谢 急~
  • 利用perl、python、php、shell、sed、awk、c 实现字符串的翻转
  • awk如何匹配一次就停止匹配以后的?
  • awk 一行不匹配,仍然继续执行
  • awk 模式匹配问题
  • grep、awk、sed等怎么匹配中文
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • awk里可以嵌套awk吗?
  • 怎样让awk输出到中途退出awk?
  • 请问一下AWK怎么样在一行文本中的第14个字段的最后面加一个空格符呢,不知道AWK的写法该怎么写,在线求教,谢谢了!!!
  • 运行awk脚本文件碰到:-bash:student_tot.awk:command not found
  • 关于awk提取文本时的一个输出结果显示问题
  • awk能改变变量的值么?
  • 关于awk的一点问题
  • awk程序中使用shell的变量
  • 新手请教一段AWK代码,报错。
  • awk如何删除一个文件?
  • shell 以及 awk高手来帮我解决这个问题,谢谢
  • awk在shell script中
  • awk 引用的问题
  • awk参数中文件名是变量的情况
  • awk中如何带入变量
  • shell awk之后对某一列进行求和
  • AWK
  • awk中如何读取shell变量?
  • 问一个关于shell中awk的使用
  • awk脚本执行不了


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3