linux命令grep命令(文本搜索工具,过滤工具,匹配工具,必学)

格式: 当grep过滤管道符传送过来的内容时,不需要后面加文件了
grep [选项] 搜索条件 [文件]
-i 忽略大小写
-n 显示行号
-v 列出不符合匹配的项
-c 统计匹配的行数
-E 正则表达式匹配
比如 grep -i "INFO" nohup.out 在文件nohup.out中搜索所有有info的行
grep 配合 wc命令使用
grep -i "INFO" nohup.out | wc -l 统计info有多少行

ps aux | grep nginx 查看nginx的进程

使用正则表达式示例

# 比如匹配这样是数据
2018-08-03 16:16:01 [WARNING] 07_20csv_export_mtw_rss_news.py-132 file history-20180226_3 is successful ,it is num 256
使用下面的命令 匹配自己要的结果
grep -E "2018-08-03 [0-9]{2}\:[0-9]{2}\:[0-9]{2} \[WARNING\]" log/log.txt

使用下面命令统计多少行自己匹配的结果
grep -c -E "2018-08-02 [0-9]{2}\:[0-9]{2}\:[0-9]{2} \[WARNING\]" log/log.txt
也可以使用管道符
grep -E "2018-08-02 [0-9]{2}\:[0-9]{2}\:[0-9]{2} \[WARNING\]" log/log.txt | wc -l

grep -v 也是很有用处的,比如你想要grep一些进程,在linux下grep的时候总是会多一条 -color grep的额外项
这时候你想 去掉这个额外项怎么做呢
ps aux | grep python | grep -v color 这样就是你想要的结果了

你可能感兴趣的:(linux命令grep命令(文本搜索工具,过滤工具,匹配工具,必学))