位置: 编程技术 - 正文
推荐整理分享Linux使用awk文本处理工具实现多行合并的实例(linux awk nr),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux awk 输出到文件,linux的awk命令大全,linux awk命令使用实例,linux awk-f,linux awk-f,linux中awk怎么用,linux教程:awk命令的用法,linux中awk怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!
在Linux系统中使用awk文本处理工具,有时需要将多行合并,这就需要用到awknext语句了,下面小编就给大家介绍下Linux中使用awk实现多行合并的方法,需要的朋友可以来了解下。
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 格式:
web[..2.]
httpd ok
tomcat ok
sendmail ok
web[..2.]
httpd ok
postfix ok
web[..2.]
mysqld ok
httpd ok
需要通过awk将输出格式变成:
web[..2.]: httpd ok
web[..2.]: tomcat ok
web[..2.]: sendmail ok
web[..2.]: httpd ok
web[..2.]: postfix ok
web[..2.]: mysqld ok
web[..2.]: httpd ok
分析:
分析发现需要将包含有“web”行进行跳过,然后需要将内容与下面行合并为一行。
[chengmo@centos5 shell]$ awk ‘/^web/{T=$0;next;}{print T“:t”$0;}’ test.txt
web[..2.]: httpd ok
web[..2.]: tomcat ok
web[..2.]: sendmail ok
web[..2.]: httpd ok
web[..2.]: postfix ok
web[..2.]: mysqld ok
web[..2.]: httpd ok
上面就是Linux使用awk进行多行合并的方法介绍了,在文中使用next语句是十分方便的,在循环匹配中,如果遇到next,就会自动跳过,从而实现多行合并。
Linux如何使用awk文本处理工具进行数组排序 Linux系统操作中,awk是款文本处理工具,提供多种功能,那么如何使用awk进行数组排序呢?其实awk数组排序的方法有很多种,下面小编就给大家详细介绍
Linux如何安装使用pidstat命令以对进程数据进行监控 Linux系统监控的命令其实有很多,pidstat命令就是其中的一种,使用pidstat命令可以对Linux系统进程数据进行监控,但要先对pidstat进行安装才能使用,下面
Linux不用使用软件把纯文本文档转换成PDF文件的方法 现在有很多软件能够将文本文件转换成PDF文件,其实在Linux系统中,不用使用软件也能将文本文本转换成PDF,只需轻松两步,下面小编就给大家介绍下Lin
标签: linux awk nr
本文链接地址:https://www.jiuchutong.com/biancheng/368264.html 转载请保留说明!友情链接: 武汉网站建设