1、命令简介
fgrep:用于查找文件里符合条件的字符串,相当于执行grep指令加上参数-F
。
2、命令用法
fgrep [options] PATTERN [FILE...]
3、命令描述
fgrep命令 作用与grep和egrep命令不同,因为它搜索字符串而不是搜索匹配表达式的模式。fgrep命令使用快速的压缩算法。$
,*
, [
, |
, (
,)
和\
等字符串被fgrep命令按字面意思解释。这些字符并不解释为正则表达式。
如果没有指定文件,fgrep命令假定标准输入。一般,找到的每行都复制到标准输出中去。如果不止一个输入文件,则在找到的每行前打印文件名。
fgrep有以下相关属性:
1)fgrep 命令和带 -F 标志的 grep命令是一样的但出错和用法消息不同-s 标志功能也不同。
2)每行限制在 2048 个字节。
3)段落(-p 标志下)目前限制在5000个字符的长度。
4)不要在特定的文件中运行 grep 命令,因为会产生不可预料的结果。
5)输入行不能包含空字符。
6)输入文件应该以换行字符结尾。
7)可以同时指定很多标志,但某些标志会覆盖其余的标志。例如,如果同时指定 -l 和 -n ,只有文件名写入到标准输出中去。
4、命令选项
选项 | 说明 |
-b | 在找到的每行之前添加行所在的块编号 |
-c | 仅显示匹配行的计数 |
-e | 指定模式 |
-f | 指定包含字符串的文件 |
-h | 当多个文件被处理时隐藏文件名 |
-i | 当进行比较时忽略字母的大小写 |
-l | 只列出包含匹配行的文件名(一次) |
n | 将文件中每行的相对行号置于行前 |
-pSeparator | 显示包含匹配行的整个段落 |
-q | 禁止所有写入到标准输出的操作,不管是否为匹配行 |
-s | 仅显示出错消息 |
-v | 显示除了匹配特定模式的行以外的所有行 |
-w | 执行单词搜索 |
-x | 显示匹配模式的行,要求无额外的字符 |
-y | 当进行比较时忽略字符的大小写 |
5、使用示例
1)显示文件中所有匹配的字符串
fgrep Main console.cs
2)显示文件中包含左括号行的数目
fgrep -c '{' console.cs
3)显示文件中包含右括号行的数目
fgrep -c '}' console.cs
4)将包含括号的行按照他们在文件中的位置顺序显示出来
fgrep {\|} console.cs
5)只打印匹配FILES 的文件名
fgrep -l main *.c