Linux中使用的GNU版的grep
语法:
grep 在数据中查找一个字串时,是以“整行”为单位来进行数据的撷取的。也就是说,它只会把含有你搜索字串的行显示在屏幕上,其他的就丢弃了。12345678grep [-acinvAB][--color=auto] 'keywords' filename选项与参数:-a : 将binary文件以text文件的方式搜寻数据-c : 计算找到'keywords'的次数-i : 忽略大小写的不同-n : 输出带有行号-v : 反向选择,亦即显示出没有'keywords'内容的那一行--color=auto : 可以将找到的关键词加上颜色显示
用dmesg列出核心信息,再以grep找出内含eth那行,在关键字所在行的前两行与后三行也一起显示出来
1dmesg | grep -n -A3 -B2 --color=auto 'eth'根据文件内容递归查找目录
123grep 'keywords' * //在当前目录搜索带'keywords'行的文件grep -r 'keywords' * //在当前目录以及子目录下搜索'keywords'行的文件grep -l -r 'keywords' * //在当前目录以及子目录下搜索'keywords'行的文件,但不显示匹配的行,只显示匹配的文件
加强版egrep
在Linux下可以使用 grep -E 达到同样的效果!
打印出所有包含NW或EA的行:123egrep 'NW|EA' testfilegrep -E 'NW|EA' testfilegrep 'NW\|EA' testfile // 这种情况在正则符号前使用了跳脱字符,grep会自动启用扩展选项-E
削弱版fgrep
fgrep查询速度比grep命令快,但是不够灵活:它只能查询固定的文本,而不能使用任何通用字符或正则表达式。12fgre '*' /etc/profilegrep -F '*' /etc/profile