从底部向上看日志


35

是否有Linux命令或某种方式可以从下至上而不是从上至下查看日志。我知道tail -n <number of lines>,但是实际上我可以滚动并从下往上滚动吗?

Answers:


32

有些系统具有tac异想天开的名字落后cat。没有那个,你仍然可以做类似的事情

awk '{print NR ":" $0}' $file | sort -t: -k 1nr,1 | sed 's/^[0-9][0-9]*://'

8
tac +1,不知道那件事:)
Johan

cat -n就像awk '{print NR,$0}',因此轻巧一些。
glenn jackman 2011年

1
我是假设,如果没有系统tac也可能缺乏的BSD衍生版本cat(USG味cat没有-v-n等我觉得有什么触发了我的“老****”。)
geekosaur

44

我想less +G这就是您要寻找的东西-它会在最后加载文件,您可以使用向上箭头(或k)向后滚动。在查看器中,g将带您到文件顶部, G并将您带到末尾。并且F将滚动到年底,并尽量保持阅读,喜欢tail -f


n1 +1 :)如果您会这样:您能解释一下在使用带有+ G标志的更少代码时如何从下至上搜索文件吗?
Oleg Belousov 2014年

2
@OlegTikhonov当然。?用于在文件中向后搜索。
mattdm 2014年

5

tac如果您要执行此命令,则该命令就像一个反向“猫”。

如果您只想从底部开始查看文件,为什么不使用编辑器或“ less”?


1
我在使用编辑器时遇到的两个问题是分页器:a)并非所有编辑器都能正常工作以断开网络连接,这意味着即使Shell发送SIGHUP时,编辑器仍然存在;b)许多编辑者触摸目录(通过创建交换/临时文件),如果要保持目录的mtime稳定,这是不利的。
弓箭2011年



0

我使用此脚本从下向上读取文件


#!/bin/bash

echo -n elpmas.file # resulting file

ctr_line=0

while read line; do

   let ctr_line++

   tail -n $ctr_line | head -n 1 >> elpmas.file

done <sample.file

如果sample.file包含

 1
 2
 3

结果elpmas.file将是

 3
 2
 1

-1

也可以使用tac管道,例如:

tail -n 3 /var/log/dmesg | tac

-1

解决方案:tacless

tac $@ | less

安装

sudo bash -c 'echo "tac \$@ | less" > /usr/local/bin/tacless'
sudo chmod +x /usr/local/bin/tacless

用法

tacless /var/log/auth.log
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.