AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    awk 多行合并(next 使用介绍) (常见应用4)

    awknext语句使用:在循环逐行匹配,如果遇到next,就会跳过当前行,直接忽略下面语句。而进行下一行匹配。


    复制代码
    代码如下:

    text.txt 内容是:
    a
    b
    c
    d
    e

    [chengmo@centos5 shell]$ awk 'NR%2==1{next}{print NR,$0;}' text.txt
    2 b
    4 d
    当记录行号除以2余 1,就跳过当前行。下面的print NR,$0也不会执行。 下一行开始,程序有开始判断NR%2 值。这个时候记录行号是:2 ,就会执行下面语句块:'print NR,$0'

    awk next使用实例:


    复制代码
    代码如下:

    要求:
    文件:text.txt 格式:
    web01[192.168.2.100]
    httpd ok
    tomcat ok
    sendmail ok
    web02[192.168.2.101]
    httpd ok
    postfix ok
    web03[192.168.2.102]
    mysqld ok
    httpd ok

    需要通过awk将输出格式变成:
    web01[192.168.2.100]: httpd ok
    web01[192.168.2.100]: tomcat ok
    web01[192.168.2.100]: sendmail ok
    web02[192.168.2.101]: httpd ok
    web02[192.168.2.101]: postfix ok
    web03[192.168.2.102]: mysqld ok
    web03[192.168.2.102]: httpd ok

    分析:
    分析发现需要将包含有“web”行进行跳过,然后需要将内容与下面行合并为一行。
    [chengmo@centos5 shell]$ awk '/^web/{T=$0;next;}{print T":\t"$0;}' test.txt
    web01[192.168.2.100]: httpd ok
    web01[192.168.2.100]: tomcat ok
    web01[192.168.2.100]: sendmail ok
    web02[192.168.2.101]: httpd ok
    web02[192.168.2.101]: postfix ok
    web03[192.168.2.102]: mysqld ok
    web03[192.168.2.102]: httpd ok

    next在多行合并,以及选择性输出方面,非常方便。大家在使用时候不妨试试。

    上一篇:awk 分析web日志(页面执行时间)(常见应用3)
    下一篇:linux awk 数组排序多种实现方法
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    awk 多行合并(next 使用介绍) (常见应用4) awk,多行,合并,next,使用,

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)