linux cat命令筛选内容 --grep
平常我们习惯使用 cat 命令来查看日志信息,文件内容等;有时候只想筛选关键字的信息、文件内容后5行、不看这个关键字有关的信息、多个关键字信息等。
解决方案:
在使用 cat 命令时,搭配使用 grep 命令 和通道 |
直接举例:
查看文件log.txt 中的警告信息,关键字是:warning
cat log.txt | grep 'warning' -A 5 //意思是,在log.txt文件中,查找warning字符,并显示warning所在行的之后5行
cat log.txt | grep 'warning' -B 5 //之前5行
cat log.txt | grep 'warning' -C 5 //前后5行
cat log.txt | grep -v 'warning' //排除warning所在的行的信息
注意:
使用“或”需要加 -e标识
cat apollo.log | grep -E "warning|error"
过滤的内容可以是一个词组等, 需要用引号包裹
1. 获取文件中的关键字key: cat fileName | grep "key"
2. 获取文件中的某个关键字key1, key2, key3: cat fileName | grep -E "key1|key2|key3"
3.获取文件中的多个关键字,同时满足: cat fileName | grep key1 | grep key2| grep key3
4. 忽略文件中的某个关键字, 需要转义"|":cat fileName | grep -v "key1\|key2\|key3"
下面说一下,满足多个条件时:
cat log.txt | grep 条件;
cat log.txt | grep 条件一 | grep 条件二;
cat log.txt | grep 条件一 | grep 条件二 | grep 条件三;
grep 条件一 log.txt | grep 条件二 | grep 条件三;
希望对你有帮助。
彩蛋
错误解决:grep时出现错误 Binary file (standard input) matches
在使用grep命令时出现错误Binary file (standard input) matches
解决方法 加上-a
例如原本为 grep hello
改为 grep -a hello
文章来源: guo-pu.blog.csdn.net,作者:一颗小树x,版权归原作者所有,如需转载,请联系作者。
原文链接:guo-pu.blog.csdn.net/article/details/99551298
- 点赞
- 收藏
- 关注作者
评论(0)