第十行¶
描述¶
给定一个文本文件 file.txt,请只打印这个文件中的第十行。
示例
输入: file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
Line 10
题解¶
这道题非常简单,使用很多方法都可以解决,下面介绍几种常用方法。
sed¶
我的第一个提交使用的是sed
# Read from the file file.txt and output the tenth line to stdout.
sed -n 10p file.txt
-n
表示只打印匹配信息,10p
表示第10行。
awk¶
使用awk
也很快捷,NR - The total number of input records seen so far, 对应的是输入数据的第N条数据,解题如下
# Read from the file file.txt and output the tenth line to stdout.
awk 'NR==10' file.txt
head & tail¶
使用head
和tail
也是很多人的解题思路之一,我也一样,因为通过head
截取前10行,再用tail
截取前10行最后一行就是所需的了
# Read from the file file.txt and output the tenth line to stdout.
head -10 file.txt |tail -1
解答错误
使用tail
和head
在文件行数大等于10时正常,但是!如果不足10行将返回最后一行数据,而非空,所以解题失败
小结¶
对应文本处理,非grep
, sed
, awk
三剑客莫属,在这里只是小试牛刀。