简介:
grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。
grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
ps:理论部分就讲到这。用法详解也不死板硬套,直接上例子,简单粗暴。
栗子:
这个是比较常用的
// 在一个叫biz.log的文件最后400行查找“00:56:11”匹配行的上下100行
tail -400 biz.log.2016-01-06-00 | grep -100 "00:56:11"
// 将/etc/passwd,有出现 root 的行取出来
# cat /etc/passwd | grep root
然后就是一些关键字的用法
// 使用-v 参数输出不包含指定关键字的行
grep -v linuxtechi /etc/passwd
//使用 ^ 符号输出所有以某指定关键字开头的行
grep ^root /etc/passwd
//使用 $ 符号输出所有以某指定关键字结尾的行
grep bash$ /etc/passwd
其他用法方面大多讲的是理论,无非就是从别人的博客搬来搬去,实用性也不强。
我就不搬过来了。就酱