leetcode 上的一个题目,看似简单也有门路
- 错误解法
# 错误解法: 因为当一个文件只有9行的时候这个解法也会输出最后一行
# Read from the file file.txt and output the tenth line to stdout.
head -10 file.txt | tail -1
- 正确解法
#解法一
tail -n +10 filename 从第10行输出
head -n 1 filename 输出前1行
#ans
tail -n +10 file.txt | head -n 1
#解法二: sed
sed -n '10p' file.txt 打印第10 行内容
sed -n '9, 10p' file.txt
解法三:awk
NR: awk 读取的记录行数
FNR:
cat file.txt | awk 'NR==10'
- awk中NR和FNR
awk可以使用自身变量NR和FNR来处理多个文件。
NR:表示awk开始执行程序后所读取的数据行数。
FNR:awk当前读取的记录数,其变量值小于等于NR(比如当读取第二个文件时,FNR是从0开始重新计数,而NR不会)。
NR==FNR:用于在读取两个或两个以上的文件时,判断是不是在读取第一个文件
网友评论