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在多行合并,以及选择性输出方面,非常方便。大家在使用时候不妨试试。

(0)

相关推荐

  • 怎么在Word文档中设置双行合并的标题

    今天给大家介绍一下怎么在Word文档中设置双行合并的标题的具体操作步骤.1.打开电脑,找到桌面上想要编辑的Word文档,双击打开,进入页面后,将想要设置双行合并的文字选中,点击上方的[开始]菜单2. ...

  • 音频剪切合并大师功能介绍

    音频剪切合并大师功能介绍: 1.音频剪切合并大师支持对MP3文件进行任意时间段的切割,并且支持MP3, WMA, AMR, AAC,WAV等大部分流行格式。 2.支持无损剪切MP3等音频,剪切后音质不 ...

  • excel行转列技巧介绍

    excel行转列技巧介绍 [例]如下图所示,把上表的格式转换成下表的格式,月份由按行显示,转换成按列显示. 操作步骤: 1 .选取表格,按 alt + d 键后,快速按p键,可以打开数据透视表向导. ...

  • 永安行共享单车怎么免押金 永安行app免押金方法介绍

    永安行是一款可以租用永安公共自行车和永安共享单车的APP,永安行怎么免押金?相信大家都知道想要骑行永安行需要交押金,那么有没有不用交押金就能骑的方法呢?今天我们小编带来永安行app免押金方法介绍,希望 ...

  • excel怎样设置行高呢?excel行高设置方法介绍

    在Excel中有时候要用到不一样的行高,那么怎样设置行高呢?下面小编就为大家介绍一下,来看看吧! 步骤 1.如果只要设置一行的行高,选中那一行的格子,然后在最前面的底部,等鼠标变形,然后拖动 2.就可 ...

  • 用excel怎么对表格中的多行合并成一行

    用excel怎么对表格中的多行合并成一行呢? 如图所示的效果 一.两行合并成一行 01 建立一个空excel表,输入两行数据,如图所示,只要在合并位置的单元格,输入 =A2&A3 即可 二.三 ...

  • 如何使用awk命令行工具

    简单介绍一下awk,它是一种小巧的编程语言及命令行工具.创始人Alfred Aho.Peter Weinberger和 Brian Kernighan姓氏的首个字母,非常适合服务器上的日志处理,主要是 ...

  • linux下的删除重复行命令uniq详细介绍和实例

    一,uniq干什么用的 文本中的重复行,基本上不是我们所要的,所以就要去除掉。linux下有其他命令可以去除重复行,但是我觉得uniq还是比较方便的一个。使用uniq的时候要注意以下二点 1,对文本操 ...

  • word如何设置首行缩进?首行缩进设置方法介绍

    我们在用电脑的WORD文档编辑一篇文章的时候,有时候会先不进行排版编辑,等到最后一起进行排版,比如每段的开头空格,也是可以统一编辑的,用到的就是首行缩进的功能.下面,小编来演示一下具体的操作方法,希望 ...