Skip to content

第十行

描述

给定一个文本文件 file.txt,请只打印这个文件中的第十行。

示例

输入: file.txt

Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
输出: 打印第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

使用headtail也是很多人的解题思路之一,我也一样,因为通过head截取前10行,再用tail截取前10行最后一行就是所需的了

# Read from the file file.txt and output the tenth line to stdout.
head -10 file.txt |tail -1

解答错误

使用tailhead在文件行数大等于10时正常,但是!如果不足10行将返回最后一行数据,而非空,所以解题失败

小结

对应文本处理,非grep, sed, awk三剑客莫属,在这里只是小试牛刀。