grep(global regular expression print)
语法:
grep [option] pattern file
简述:
简单说,grep在给定的文件中,逐行匹配,匹配上的一行将会被打印输出。
grep将file中的第一行复制进buffer,进行与pattern的匹配,匹配通过,将会按照option要求,将该匹配行打印到屏幕上。如此循环,直到文件末尾。
注意:grep 不会存储,修改 文本行,并且,无法实现一行中部分匹配。
常用option:
-v 取反//打印输出不匹配的文本行
-i 忽略大小写
-c 符合条件的行数
-n 输出的同时打印行号
^* 以*开头
*$ 以*结尾
^$ 空行
具体操作:
创建一个新的文件命名为a_file,并将下面数据粘贴进去
boo
boot
book
booze
machine
boots
bungie
bark
aardvark
broken$tuff
robots
grep 'boo' a_file打印包含boo行
grep -n 'boo' a_file打印包含boo行并输出行号
grep -nv 'boo' file打印不包含boo行并输出行号
-
grep -c 'boo' a_file仅打印包含boo的行数
-
grep -l 'boo' files...在多个文件中打印包含boo的文件名
grep -i 'BOO' a_file忽略匹配字符串的大小写,打印包含匹配字符串的行
grep -x 'boo' a_file精确匹配boo字符,打印是boo字符的文本行
grep -A2 'mach' a_file打印包含mach行,并且多打印两行
grep -E 'boot?' a_file使用正则表达式作为匹配模式(建议学习正则表达式)
参考链接
★★★Linux文本三剑客超详细教程---grep、sed、awk - alonghub - 博客园 (cnblogs.com)
可以看下这个老哥发的视频,个人感觉特使用