我想显示我的日志文件的最后 10 行,从最后一行开始——就像普通的日志阅读器一样。我认为这将是 tail 命令的变体,但我在任何地方都找不到。
最佳答案
GNU (Linux) uses the following :
tail -n 10 <logfile> | tac
tail -n 10 <logfile>
打印出日志文件的最后 10 行和 tac
(cat 向后拼写)颠倒顺序。
BSD (OS X) 的 tail
使用 -r
选项:
tail -r -n 10 <logfile>
对于这两种情况,您可以尝试以下方法:
if hash tac 2>/dev/null; then tail -n 10 <logfile> | tac; else tail -n 10 -r <logfile>; fi
注意: GNU manual states BSD -r
选项“只能反转最多与其缓冲区一样大的文件,通常为 32 KiB”和 tac
更可靠。如果缓冲区大小有问题并且您不能使用 tac
,您可能需要考虑使用 @ata's answer它在 bash 中编写功能。
关于linux - 在 Bash 中从最后到第一个输出文件行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8017456/