Linux 之 fgrep 命令
入门小站 -为文件搜索文字字符串,fgrep命令 是用来搜索 file 参数指定的输入文件(缺省为标准输入)中的匹配模式的行。fgrep 命令特别搜索 Pattern 参数,它们是固定的字符串。如果在 File 参数中指定一个以上的文件 fgrep 命令将显示包含匹配行的文件。
fgrep 命令于 grep 和 egrep 命令不同,因为它搜索字符串而不是搜索匹配表达式的模式。fgrep 命令使用快速的压缩算法。$, *, [, |, (, )
和\等字符串被 fgrep 命令按字面意思解释。这些字符并不解释为正则表达式,但它们在 grep 和 egrep 命令中解释为正则表达式。因为这些字符对于 shell 有特定的含义,完整的字符串应该加上单引号' ... '
。. 如果没有指定文件, fgrep 命令假定标准输入。一般,找到的每行都复制到标准输出中去。如果不止一个输入文件,则在找到的每行前打印文件名。
fgrep [选项][参数]
n:将文件中每行的相对行号置于行前。-pSeparator:显示包含匹配行的整个段落。段落之间将按照Separator参数指定的段落分隔符加以分隔,这些分隔符是与搜索模式有着相同格式的模式。包含段落分隔符的行将仅用作分隔符;它们不会被包含在输出中。缺省的段落分隔符是空白行。-q:禁止所有写入到标准输出的操作,不管是否为匹配行。如果选中输入行,以 0 状态退出。-s:仅显示出错消息。这在检查状态时很有用。-v:显示除了匹配特定模式的行以外的所有行。-w:执行单词搜索。-x:显示匹配模式的行,要求无额外的字符。-y:当进行比较时忽略字符的大小写。命令返回值
0
找到匹配项。1
未找到匹配项。>1
发现语法错误,或者文件不可访问(即使找到了匹配项)。搜索几个文件中的一个简单字符串> fgrep rumenz *.txt
在当前目录下所有以 .txt
字符串结尾的文件中搜索字符串 rumenz
。计数匹配某模式的行数> fgrep -n "{" rumenz.txt
1:one{
如果在您的 C 程序中一行中没有包含多于一个 { (左括号) 或者 } (右括号),并且括号正确匹配,那么这两个数字将是一样的。如果这两个数字不一样,您可以将包含括号的行按照他们在文件中的位置顺序显示出来,使用以下命令:> egrep {\|} rumenz.txt
one{
}
显示包含某模式的文件名:> fgrep -l "123" *.txt
rumenz.txt
原文链接:https://rumenz.com/rumenbiji/...
微信公众号:入门小站
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。