给定一个文本文件 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. 至少有三种不同的解法,请尝试尽可能多的方法来解题。
1
sed -n '10p' file.txt

1
awk 'NR==10' file.txt

1
2
3
4
file_lines=$(wc -l < file.txt)
if [ "$file_lines" -ge 10 ]; then
head -n 10 file.txt | tail -n 1
fi

1
2
3
4
mapfile -t arr < file.txt
if [ ${#arr[@]} -ge 10 ]; then
echo "${arr[9]}"
fi

1
2
3
4
5
6
7
8
count=0
while IFS= read -r line; do
((count++))
if [ "$count" -eq 10 ]; then
echo "$line"
break
fi
done < file.txt

1
tail -n +10 file.txt | head -n 1