1、多文件查看
cat 20200925.log 20200926.log 20200927.log | grep '123'
2、过滤多条件
#'123' && '456'
cat 20200925.log 20200926.log 20200927.log | grep '123' | grep '456'
#'123' || '456'
cat 20200925.log 20200926.log 20200927.log | grep '123'|'456'
3、获取过滤结果行数
cat 20200925.log 20200926.log 20200927.log | grep -c '123'
#多条件过滤统计结果行数
cat 20200925.log 20200926.log 20200927.log | grep '123' | grep -c '456'
linux怎么根据给定的条件查询多个日志文件的信息
grep "EntryId=100001" item.2012-04-24.log item.2012-04-25.log item.2012-04-26.log -n
grep 'EntryId=100001' item.2012-04-2[4-6].log
echo "item.2012-04-24.log" | cut -d '.' -f 2; 这是拿到日期2012-04-24
date -d "2012-04-24" +"%s" 是获得UNIX时间戳,同样的办法可以用于时间范围,得到范围的时间戳,这样就可以知道哪些文件在范围内了.
当然,这是遍历的算法,你也可以先获得范围的时间戳,看看中间一共有几天,就是时间戳的差/24/60/60,之后使用date -d "2012-4-26 +1day" +"%Y-%m-%d",看到day之前那个1了吗,就可以逐渐增加表示几天后,这样就不是遍历了。
4、多文件多条件查找日志示例
cat debug.log.[1-12].bak | grep '210426000031' | grep 'StoreInServer'