grep
grep #文本过滤命令
#贪婪模式 把所有东西都会显示
grep 命令是一种强大的文本搜索工具,根据用户指定的“模式”对目标文本进行匹配检查打印匹配的行
由正则表达式或者字符及其文本字符所编写的过滤条件
正规的 grep 不支持扩展单元的正则表达式子,竖线是用于表示“或”的扩展正则表达式元字符,正规 grep 无法识别
加上 \ 这个字符就被翻译成扩展正则表达式,就像 egrep 和 grep -E 一样
\< 防止前面贪婪 \> 防止后面贪婪
-E egrep #识别扩展的正则表达式子
-i #忽略大小写
-v #除了
-n #行号
-n2 #显示上两行下两行行号
grep root passwd #显示所有含有root的行
grep -Ei "root" passwd #不区分大小写,显示所有root行
grep -Ei "^root" passwd #显示所有root在前面的行
grep -Ei "root$" passwd #显示所有root在后面的行
grep -Ei "^root|root$" passwd #显示所有root在前面和后面的行
grep -Ei "^root|root$" passwd -v | grep root #显示root在中间的行
grep -Ei "^root|root$" passwd -n #显示行号
grep ROOT passwd -n2 #显示ROOT行号及其上两行下两
grep ROOT passwd -A1 #显示ROOT行和其下一行
grep ROOT passwd -B1 #显示ROOT行和其上一行
grep xy file #显示所有xy的行
grep x.y file #显示xy中间有一个字符的行
x..y 两个
x...y 三个
grep x*y file #显示字符出现0-任意次
grep -E x?y file #显示字符出现0-1次
grep -E x+y file #显示字符出现1-任意次
grep -E x1y file #显示字符出现1次
grep -E x{3}y file
grep -E "x{3,}y" file #显示字符出现的次数
grep -E "(xy){3,}" file #显示(xy)整体出现的次数
grep -E ^xy file #显示xy在前面的行
grep -E xy$ file #显示xy在后面的行
g