linux中搜索字符串得命令,fgrep命令 – 为文件搜索文字字符串

fgrep命令用于在文件中搜索固定的字符串模式,不同于grep和egrep搜索模式表达式。它使用快速算法,并且不解释特殊字符如$、*等。fgrep在多个文件中找到匹配行时会显示文件名。可以使用参数如-b(块编号)、-c(计数)、-e(指定模式)、-f(从文件读取模式)、-l(仅列出文件名)、-n(行号)等。示例中展示了如何搜索.c文件中的strcpy字符串以及如何查找包含'a'的行。
摘要由CSDN通过智能技术生成

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@linuxcool ~]# fgrep strcpy *.c

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

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

匹配含有a的行:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值