linux下一串数字内输出奇数,用awk、sed打印奇数行或偶数行

这里只介绍最简单的方法

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值