grep工具是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep的语法:
在使用grep的时候需要注意以下几点:
- grep不加引号直接过滤字符串
- grep在进行模式匹配的时候必须加引号,单引和双引号都可以
- grep在引用变量的时候必须加双引号
来看看grep的选项:
- -a:不要忽略二进制数据
- -A #:除了显示符合条件的那一行之外,还显示该行之后#行的内容
- -B #:除了显示符合条件的那一行之外,还显示该行之前#行的内容
- -c:计算符合条件的列数
- -C #:除了显示符合条件的那一行之外,还显示该行前#行和该行后#行的内容
- -d:要指定查找的是目录而非文件,必须使用这项参数
- -e:指定字符串为查找文件内容的条件
- -E:使用扩展的正则表达式
- -f 文件:要匹配的模式来源于文件,类似于在别的文件中搜索该文件中的内容
- -F:将条件视为固定字符串的列表
- -G:使用基准模式来匹配
- -h:在显示符合条件的那一列之前不标示该列所属的文件名称
- -H:在显示符合条件的那一列之前标示该列所属的文件名称
- -i:忽略大小写
- -l:列出文件内容符合指定条件的文件名称
- -L:列出文件内容不符合指定条件的文件名称
- -n:在显示符合条件的那一列之前标示出该列的编号
- -q:安静模式匹配,不显示任何信息
- -R/-r:递归模式进行匹配
- -s:不显示错误信息
- -v:选择不匹配的行
- -w:只显示全字符合的列
- -x:只显示全列符合的列
- -y:和选项 -i 类似
- -o:只输出文件中匹配到的部分
接下来给其中比较常用的选项举几个例子:
在举例子之前再说一个选项 - -color 是为了将匹配到的结果高亮显示
1. 先来看看最常见的匹配:
2. grep -o --color "bbbb" file
只显示匹配到的部分
3. grep -i --color "bbbb" file
忽略大小写