HLdeMacBook-Air:~ hl$ more file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
HLdeMacBook-Air:~ hl$
文件file.txt 内容如上,打印第9行内容,可以采取以下几种方式
方式一: tail + head
tail -n +9 filename 从第9行输出
head -n 1 filename 输出前1行
HLdeMacBook-Air:~ hl$ tail -n +9 file.txt
Line 9
Line 10
HLdeMacBook-Air:~ hl$
HLdeMacBook-Air:~ hl$ tail -n +9 file.txt | head -n 1
Line 9
HLdeMacBook-Air:~ hl$
ps:不要写成 head -n count file.txt | tail -n 1 ; 因为当file.txt 没有count行,按这个方式就会变显示最后一行的内容
方式二:sed
HLdeMacBook-Air:~ hl$ sed -n '9p' file.txt
Line 9
HLdeMacBook-Air:~ hl$ sed -n '9,10p' file.txt
Line 9
Line 10
HLdeMacBook-Air:~ hl$
'9,10p' : 第9~10行
方式三:awk
NR ordinal number of the current record
FNR ordinal number of the current record in the current file
HLdeMacBook-Air:~ hl$ awk NR==9 file.txt file.txt
Line 9
HLdeMacBook-Air:~ hl$ awk FNR==9 file.txt file.txt
Line 9
Line 9
HLdeMacBook-Air:~ hl$