悦考网游:值得大家信赖的游戏下载站!
发布时间:2021-06-08 17:34:53来源:悦考网游作者:悦考网游
在Linux系统中使用awk文本处理工具,有时需要将多行合并,这就需要用到awknext语句了,下面小编就给大家介绍下Linux中使用awk实现多行合并的方法,需要的朋友可以来了解下。
awknext语句使用:在循环逐行匹配,如果遇到next,就会跳过当前行,直接忽略下面语句。而进行下一行匹配。
代码如下:
text.txt 内容是:
abcde
[chengmo@centos5 shell]$ awk ‘NR%2==1{next}{print NR,$0;}’ text.txt2 b4 d
当记录行号除以2余 1,就跳过当前行。下面的print NR,$0也不会执行。 下一行开始,程序有开始判断NR%2 值。这个时候记录行号是:2 ,就会执行下面语句块:‘print NR,$0’
awk next使用实例:
代码如下:
要求:
文件:text.txt 格式:
web01[192.168.2.100]httpd oktomcat oksendmail okweb02[192.168.2.101]httpd okpostfix okweb03[192.168.2.102]mysqld okhttpd ok
需要通过awk将输出格式变成:
web01[192.168.2.100]: httpd okweb01[192.168.2.100]: tomcat okweb01[192.168.2.100]: sendmail okweb02[192.168.2.101]: httpd okweb02[192.168.2.101]: postfix okweb03[192.168.2.102]: mysqld okweb03[192.168.2.102]: httpd ok
分析:
分析发现需要将包含有“web”行进行跳过,然后需要将内容与下面行合并为一行。
[chengmo@centos5 shell]$ awk ‘/^web/{T=$0;next;}{print T“:\t”$0;}’ test.txtweb01[192.168.2.100]: httpd okweb01[192.168.2.100]: tomcat okweb01[192.168.2.100]: sendmail okweb02[192.168.2.101]: httpd okweb02[192.168.2.101]: postfix okweb03[192.168.2.102]: mysqld okweb03[192.168.2.102]: httpd ok
上面就是Linux使用awk进行多行合并的方法介绍了,在文中使用next语句是十分方便的,在循环匹配中,如果遇到next,就会自动跳过,从而实现多行合并。
王者荣耀王者模拟战即将上线 王者模拟战玩法介绍
古今江湖童姥牌组搭配使用技巧攻略
王牌战士幽灵实战技巧讲解
王牌战士据点占领怎么玩 游戏模式介绍
王牌战士团战如何切入详细讲解
神雕侠侣2手游氪金玩家消费指南
和平精英通讯塔是什么 和平精英通讯塔玩法详细解析
崩坏3精英工坊新加入了什么武器圣痕 精英工坊新武器圣痕一览
第五人格Blackjack新模式玩法简介 官方新玩法游戏流程及规则
梦三国
角色扮演
征途永恒
角色扮演
永恒纪元
角色扮演
王者荣耀
角色扮演
斗罗大陆手游
角色扮演
和平精英
枪战射击
精灵盛典
角色扮演
坠落星界
其它游戏
一刀传世
角色扮演