awk中next用法

195. Tenth Line

How would you print just the 10th line of a file?

For example, assume that file.txt has the following content:

Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
Your script should output the tenth line, which is:
Line 10

[show hint]

Hint:
1. If the file contains less than 10 lines, what should you output?
2. There's at least three different solutions. Try to explore all possibilities.

awk依旧很强大,模式块中next可以实现跳过功能,如下,只输出第10行,如果有的话:
awk 'NR!=10{next}{print}' file.txt

很神奇的是,10后面多个分号结果就刚好相反,如下,输出10行除外的行,如果有的话:
awk 'NR!=10;{next}{print}' file.txt

哼,其实其实,“;”把语句截断啦,上面相当于,为什么呢,看看下面:

然后呢,那么这题简化:


哇,还是很神奇,其实还有:


应该很多种方法都可以,就不去一一想了,太灵活。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值