诺亚方舟

沉淀

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命令会根据–参数进行分割,对处在后面的’—-’就不当做参数来处理了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>