我试图让单个OS命令的输出显示日志文件的最后一行,以特定字符串开头。
所以基本上我有一个日志文件:
Tom
Paul
Tom
Steve
Anthony
Tom
我想输入与此类似的命令:
tail -1 /etc/logfile | grep Steve
并输出如下: 史蒂夫
不幸的是,tail -1
的输出只显示日志文件的最后一行...如果它匹配。我希望它从底部到顶部(最近到最旧)搜索日志文件,并打印匹配“Starts with”或grep的第一个条目。谢谢。我尝试了一堆尾巴,sed,猫和更少的组合...但我可能只是做了一些小错误并且错过了它。
答案 0 :(得分:2)
反过来grep Steve /etc/logfile | tail -l
grep Steve /etc/logfile
获取史蒂夫然后
的所有行tail -1
打印最后一个。
答案 1 :(得分:2)
如果日志足够小而您不想完全扫描它,那么
grep Steve etc/logfile | tail -n 1
将完成你的工作。如果文件非常大,你不想grep它,因为它会影响性能,所以我建议构建一个反向读取文件的脚本,并在第一次出现时停止。