• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Linux-之-fgrep-命令

linux 搞代码 3年前 (2022-03-03) 35次浏览 已收录 0个评论

为文件搜寻文字字符串,fgrep命令 是用来搜寻 file 参数指定的输出文件(缺省为规范输出)中的匹配模式的行。fgrep 命令特地搜寻 Pattern 参数,它们是固定的字符串。如果在 File 参数中指定一个以上的文件 fgrep 命令将显示蕴含匹配行的文件。

fgrep 命令于 grep 和 egrep 命令不同,因为它搜寻字符串而不是搜寻匹配表达式的模式。fgrep 命令应用疾速的压缩算法。$, *, [, |, (, )和\等字符串被 fgrep 命令按字面意思解释。这些字符并不解释为正则表达式,但它们在 grep 和 egrep 命令中解释为正则表达式。因为这些字符对于 shell 有特定的含意,残缺的字符串应该加上单引号' ... '。. 如果没有指定文件, fgrep 命令假设规范输出。个别,找到的每行都复制到规范输入中去。如果不止一个输出文件,则在找到的每行前打印文件名。

  • fgrep 命令和带 -F 标记的 grep命令是一样的但出错和用法音讯不同-s 标记性能也不同。
  • 每行限度在 2048 个字节。
  • 段落(-p 标记下)目前限度在5000个字符的长度。
  • 不要在特定的文件中运行 grep 命令,因为会产生不可意料的后果。
  • 输出行不能蕴含空字符。
  • 输出文件应该以换行字符结尾。
  • 尽管能够同时指定很多标记,但某些标记会笼罩其余的标记。例如,如果同时指定 -l 和 -n ,只有文件名写入到规范输入中去。

命令语法

fgrep [选项][参数]

命令选项

  • -b:在找到的每行之前增加行所在的块编号。应用此标记有助于依照上下文查找磁盘块号码。-b 标记不能用于规范输出或者管道输出。
  • -c:仅显示匹配行的计数。
  • -e 模式:指定模式。这个工作模式很简略,但当此模式以 a-(减号) 结尾时却是很有用的。
  • -f StringFile:指定蕴含字符串的文件。
  • -h:当多个文件被解决时暗藏文件名。
  • -i:当进行比拟时疏忽字母的大小写。
  • -l:只列出蕴含匹配行的文件名(一次)。文件名之间用换行符分隔。
    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/…
微信公众号:入门小站


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux-之-fgrep-命令
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

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

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