脚本内容
》》》findN.sh
#!/bin/sh
SRC_FILE_NAME=$1
TARGET_LINE_NUMBER=$2
expr $TARGET_LINE_NUMBER + 1 >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "'$TARGET_LINE_NUMBER' is a invalid number!"
else
target_line=""
count=0
while read line || [[ -n ${line} ]]
do
count=$(($count+1))
if [ $count = $TARGET_LINE_NUMBER ]; then
target_line=$line
break
fi
done < $SRC_FILE_NAME
echo $target_line
fi
exit 0
测试文件内容
》》》file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
脚本效果
场景1:
$ ./findN.sh file.txt 10
Line 10
场景2:
$ ./findN.sh file.txt 11
场景3:
$ ./findN.sh file.txt 11a
‘11a’ is a invalid number!