fgrep命令 – 为文件搜索文字字符串

Linux命令 统信UOS系统管理员 4周前 (03-20) 14次浏览 0个评论 扫描二维码

fgrep 命令的作用是用来搜索 file 参数指定的输入文件(缺省为标准输入)中的匹配模式的行。fgrep 命令特别搜索 Pattern 参数,它们是固定的字符串。如果在 File 参数中指定一个以上的文件 fgrep 命令将显示包含匹配行的文件。

fgrep 命令 作用与 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索匹配表达式的模式。fgrep 命令使用快速的压缩算法。$, *, [, |, (, )和\等字符串被 fgrep 命令按字面意思解释。这些字符并不解释为正则表达式。

如果没有指定文件,fgrep 命令假定标准输入。一般,找到的每行都复制到标准输出中去。如果不止一个输入文件,则在找到的每行前打印文件名。

fgrep 有以下相关属性:

  • fgrep 命令和带 -F 标志的 grep 命令是一样的但出错和用法消息不同-s 标志功能也不同。
  • 每行限制在 2048 个字节。
  • 段落(-p 标志下)目前限制在 5000 个字符的长度。
  • 不要在特定的文件中运行 grep 命令,因为会产生不可预料的结果。
  • 输入行不能包含空字符。
  • 输入文件应该以换行字符结尾。
  • 虽然可以同时指定很多标志,但某些标志会覆盖其余的标志。例如,如果同时指定 -l 和 -n ,只有文件名写入到标准输出中去。

语法格式: fgrep [参数]

常用参数:

-b 在找到的每行之前添加行所在的块编号
-c 仅显示匹配行的计数
-e 指定模式
-f 指定包含字符串的文件
-h 当多个文件被处理时隐藏文件名
-i 当进行比较时忽略字母的大小写
-l 只列出包含匹配行的文件名(一次)
n 将文件中每行的相对行号置于行前
-pSeparator 显示包含匹配行的整个段落
-q 禁止所有写入到标准输出的操作,不管是否为匹配行
-s 仅显示出错消息
-v 显示除了匹配特定模式的行以外的所有行
-w 执行单词搜索
-x 显示匹配模式的行,要求无额外的字符
-y 当进行比较时忽略字符的大小写

参考实例

当前目录下所有以 .c 字符串结尾的文件中搜索字符串 strcpy:

[root@xtuos.com ~]# fgrep strcpy *.c

搜索当前目录下以 .c 结尾的文件,然后显示包含 strcpy 字符串的文件名:

[root@xtuos.com ~]# fgrep -l strcpy *.c

匹配含有 a 的行:

[root@xtuos.com ~]# cat xtuos.com.sh |fgrep a


统信UOS之家 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:fgrep命令 – 为文件搜索文字字符串
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址