Linux三剑客:grep、sed和awk
grep:Global search Regular Expression Print out the line。能够在文本中查找指定的字符串,可以理解为字符串查找工具。
grep全称为grpe是一个可以利用“正则表达式”进行“全局搜索”的工具,grep会在文本文件中按照指定的正则进行全局搜索,并将搜索出的行打印出来。
- 从文本test中找到包含abc的行,grep是区分大小写的,因此只会打印出包含abc的行。
grep "abc" test
- 从文本test中找到包含abc的行,不区分大小写
grep -i "abc" test
- 从文本test中找到包含abc的行,不区分大小写,并且输出所在行号
grep -i -n "abc" test
- 从文本test中找到包含abc的行,不区分大小写,并且高亮显示行中的关键字
grep -i --color "abc" test
- 从文本test中找到包含abc的一共有多少行
grep -c "abc" test
- 从文本test中找到abc,至看到匹配到的关键字
grep -o "abc" test
- -w精确寻找,寻找a则不会输出abc
grep -w "abc" test
- 反向查找,不包含abc的行
grep -v "abc" test
- 判断文本中是否存在某个字符串,-q
grep -q "abc" test
echo $?
-q表示grep使用静默模式,静默模式下grep不会输出任何信息,无论是否匹配到指定的字符串,都不会输出任何信息,所以,我们需要配合“echo $?”命令,查看命令的执行状态,如果返回值为0,证明上一条grep命令匹配到了指定的字符串,如果返回值为1,则证明上一条grep命令没有匹配到指定的字符串。