linux 多文件多条件查看日志命令

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了吗,就可以逐渐增加表示几天后,这样就不是遍历了。

Logo

更多推荐