有没有办法打印文件的第n行,从文件的后面开始计算?
我知道如何从文件的前面进行操作,但是从文件的后面进行操作似乎更棘手。
答案 0 :(得分:9)
快捷方式是tail -n $n file | head -n 1
。
awk
更有趣的方式是:
awk -v n=$n '{x[NR%n]=$0}END{print x[(NR+1)%n]}' file
如果您的行数少于n
,tail | head
方法将打印文件的第一行,awk
方式将打印一个空行。
答案 1 :(得分:5)
从头到尾快速而肮脏,第100行:
tail -n 100 yourfile | head -n 1
如果文件少于100行,您将获得该文件的第一行。