lac*_*991 10 logging debian grep
我正在尝试创建一个脚本来greting位于/ var/log /中的日志文件.我能够grep未压缩的日志或压缩的日志(作为日志轮换的结果)但是无法在一个命令中执行这两个操作(当我尝试这样做时,我得到"二进制文件(标准输入)匹配"),甚至可以做这样的事情吗?谢谢!
zgrep可以为你做,它处理压缩和未压缩的文件.一个缺点是它不能递归地处理目录.但对于您的实例,它是完全足够的,您可以按如下方式过滤例如syslog:
$ zgrep PATTERN /var/log/syslog*
Run Code Online (Sandbox Code Playgroud)
尝试使用shell函数执行此操作:
greplog () {
cd /var/log
{
cat $1 $1.*[0-9]
zcat $1.*.gz
} | grep "$2"
}
Run Code Online (Sandbox Code Playgroud)
用法:
$ greplog syslog pattern
Run Code Online (Sandbox Code Playgroud)