码迷,mamicode.com
首页 > 其他好文 > 详细

用awk、sed打印奇数行或偶数行

时间:2016-07-25 00:24:19      阅读:1129      评论:0      收藏:0      [点我收藏+]

标签:sed   awk   

这里只介绍最简单的方法

sed实现
一:
奇数行 sed -n ‘p;n‘ file
偶数行 sed -n ‘n;p‘ file

 

这个可能比较难理解,举个网上的例子:

例,从aaa文件中取出偶数行
cat aaa
This is 1   
This is 2   
This is 3   
This is 4   
This is 5    

sed -n ‘n;p‘ aaa         //-n表示取消默认输出
This is 2   
This is 4

注 释:sed读取This is 1,执行n命令,此时模式空间为This is 2,执行p,打印模式空间内容This is 2,之后读取 This is 3,执行n命令,此时模式空间为This is 4,执行p,打印模式空间内容This is 4,之后读取This is 5,执行n 命令,因为没有了,所以退出,并放弃p命令。

因此,最终打印出来的就是偶数行。


二:

奇数行 sed -n ‘1~2p‘ file
偶数行 sed -n ‘2~2p‘ file

 

awk实现
一:
奇数行 awk ‘NR%2==1‘ file
偶数行 awk ‘NR%2==0‘ file
二:
奇数行 awk ‘NR%2‘ file
偶数行 awk ‘!(NR%2)‘ file

本文出自 “每天进步一点” 博客,请务必保留此出处http://yujia2016.blog.51cto.com/59379/1829449

用awk、sed打印奇数行或偶数行

标签:sed   awk   

原文地址:http://yujia2016.blog.51cto.com/59379/1829449

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!