这里只介绍最简单的方法
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
本文转自 kuSorZ 51CTO博客,原文链接:http://blog.51cto.com/kusorz/1829449