我需要进行日志分析,并且面临cat access.log*
首先显示最新日志文件的问题。
我尝试对日志进行排序,这花了很多时间,因为我有几年前的日志。它们已经排序,只是以与我需要的不同的顺序显示。
所以我需要按以下顺序显示文件内容:
access.log.4
access.log.3
....
access.log
我该如何实现这一目标?
答案1
尝试这个:
ls -rt access.log* | xargs cat
首先从最旧到最新列出文件,然后cat
逐一列出。
答案2
您zsh
可以反转通配顺序:
cat access.log.*(On)
~/test % ls
1 2 3
~/test % cat 1
1
~/test % cat 2
2
~/test % cat 3
3
~/test % cat *
1
2
3
~/test % cat *(On)
3
2
1
答案3
cat $( ls | tac )
或者简单地
cat $( ls -r )