tail指令提供了获取文件最后几行数据的功能,例如 tail -10 file
则显示文件最后10行。
实际上,tail
加上参数-c
就可以按照字符来获取最后的数据
echo "hello" | tail -c 5
ello
注意:获取最后4个字符使用的是-c 5
是因为echo
指令显示的字符串组后有隐含换行\n
。如果要避免机上新行(newline character),则使用echo -n
。
另外,shell支持切片方法:
someone@mypc:~$ str="A random string*"; echo "$str"
A random string*
someone@mypc:~$ echo "${str:$((${#str}-1)):1}"
*
someone@mypc:~$ echo "${str:$((${#str}-2)):1}"
g
其实比较简明的是结合使用head -c
和tail -c
,例如要截取hello
的倒数第四个字符e
:
echo -n "hello" | tail -c 4 | head -c 1