Linux日志搜索 grep
1.关键字“或”的搜索, -E 不能少。
grep -E "word1|word2|word3" file.txt
满足任意条件(word1、word2和word3之一)将匹配。
2.关键字“且”的搜索
grep word1 file.txt | grep word2 |grep word3
必须同时满足三个条件(word1、word2和word3)才匹配。
## -- 且的关系 --
## 先过滤第一步,然后基于第一步再过滤第二步,且的关系。
cat myLogFile.log | grep "6dc7e0a484d5a7cc" | grep "369698634" >> myLogFileGps-240816.log
## -- 或的关系 --
## 搜索结果为空
cat myLogFile.log | grep "6dc7e0a484d5a7cc|369698634" >> myLogFileGps-240816-2.log
## 测试发现: -E 关键字不能少,否则无效,搜索结果为空。
cat myLogFile.log | grep -E "6dc7e0a484d5a7cc|369698634" >> myLogFileGps-240816-3.log
## -- 且与或的组合使用关系 --
## 缩小范围更小,先根据线程的关键字,然后再基于上一步再过滤两个关键字或的关系
cat myLogFile.log | grep "6dc7e0a484d5a7cc" | grep -E "计算gps|369698634" >> myLogFileGps-240816-4.log