给定一个文本文件 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
说明:
1. 如果文件少于十行,你应当输出什么?
2. 至少有三种不同的解法,请尝试尽可能多的方法来解题。
解析:awk的默认动作就是打印$0,所以NR==10后面可以不用加{print $0}
awk 'NR==10' file.txt
tail -n +10 file.txt | head -n 1
sed -n '10p' file.txt
line=$(cat file.txt | wc -l) #千万注意,等号前后一定不要有空格
if [ "$line" -ge 10 ] ; then #$line的双引号也可以不用加
cat file.txt | head -n 10 | tail -n 1
fi