awk中next用法

来源:互联网 发布:阿里云轻应用服务器 编辑:程序博客网 时间:2024/05/21 03:56

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 1Line 2Line 3Line 4Line 5Line 6Line 7Line 8Line 9Line 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

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

然后呢,那么这题简化:


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


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

原创粉丝点击