我想知道在 linux/unix 中是否有一种方便的方法可以将多个日志文件读取为一个。
更具体地说,我想使用普通的 unix 工具(vi、less 等)将一系列日志文件(app.log、app.log.1 app.log.2 等)视为一个大文件。读取 EOF 时,该工具将自动移动到下一个文件的开头。
在工作期间,我必须分析 uat/prod 日志来调查和解决问题。我需要遍历许多日志文件,这会干扰我的工作并造成延误。
有任何想法吗?
答案1
您可以使用文件列表和文件通配符来指定多个文件。
一个大文件:
cat file1 file2 anotherbunch* log[a-z] | less
文件序列(输入 :n 转到下一个):
less -e file1 file2 anotherbunch* log[a-z]
-e
当到达当前文件末尾(两次)时,将自动切换到下一个文件,当到达最后一个文件末尾(两次)时,将退出。要在第一次到达 EOF 时执行此操作,请使用选项-E
。