【发布时间】:2013-11-17 23:44:19
【问题描述】:
有没有办法打印文件的第 n 行,从文件后面开始计算?
我知道如何从文件的前面做,但从文件的后面做似乎更棘手。
【问题讨论】:
有没有办法打印文件的第 n 行,从文件后面开始计算?
我知道如何从文件的前面做,但从文件的后面做似乎更棘手。
【问题讨论】:
快速简便的方法是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 方法将打印一个空行。
【讨论】:
又快又脏,倒数第 100 行:
tail -n 100 yourfile | head -n 1
如果文件少于 100 行,您将获得文件的第一行。
【讨论】: