码迷,mamicode.com
首页 > 系统相关 > 详细

[Linux] 输出文件的指定行

时间:2017-12-06 13:14:04      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:and   txt   problem   linu   tar   read   output   leetcode   ble   

1.获取第k行(以k=10为例)

要注意的是,如果文件包含内容不足10行,应该不输出.

# Read from the file file.txt and output the tenth line to stdout.
# 解法一,使用awk
awk NR == 10 file.txt

# 解法二,使用sed(个人测试结果:sed方法比awk快)
sed -n 10p file.txt

# 解法三,组合使用tail与head
tail -n+10 file.txt | head -n1

# 另外,以下这种方法不符合要求
head file.txt -n10 | tail -n1 # 因为如果文件包含内容不足10行,会输出最后一行

 

另外,输出第5行到第8行:

awk NR>=5 && NR <=8 file.txt

 

题目来自Leetcode的195. Tenth Line

解法参考:http://bookshadow.com/weblog/2015/03/28/leetcode-tenth-line/

 

2.获取某些行

sed /pattern/!p file.txt   //匹配pattern的行不输出 
sed -n 5,9p file.txt        //输出第五和第九行
sed -n 10,$p file.txt      //输出第十行到最后一行

 

[Linux] 输出文件的指定行

标签:and   txt   problem   linu   tar   read   output   leetcode   ble   

原文地址:http://www.cnblogs.com/bymo/p/7513951.html

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