grep小结
1)查询不包括某行的记录:grep -v
例子:搜索nginx日志排除103.244.80.202 ip的一条日志。
grep -v ’103.244.80.202′ fnsdk.4399sy.com.log | tail -n1
2)统计文件包含关键字的次数:grep -o
例子:统计一个文件中包含pay的次数
less 2015062316484412963008.txt | grep -o pay | wc -l
3)匹配多个关键字:grep -E
当grep需要匹配多个关键字时,这时候需要利用到grep的正则表达式
例子:匹配文本中包括xxx或000或ooo的行
grep -E ‘xxx|000|ooo’ 2015062316484412963008.txt
4)只输出符合内容的文件名:grep -l
例子:获取包含2015062316484412963008字符串的文件名
grep -l ’2015062316484412963008′ 2015062316484412963008.txt
5)只查询部分文件,这时候需要利用find来组合命令:find xxxxx | xargs grep ‘mmmm’
例子:查询当前目录下名字包含20的文件中,包含’lalala‘字符串的信息
find ./ -name ‘*20*’ | xargs grep ‘lalala’
6)如何抓取字符串’—-’?直接grep ‘—-’ XX.txt 的话会报错:grep: unrecognized option ‘—-’,这时候需要更换命令为:grep — ‘—-’ XX.txt 这样grep命令会根据–参数进行分割,对处在后面的’—-’就不当做参数来处理了。