Shell Grep命令的使用

GREP 是 Global Regular Expression Print 的缩写。


对于标准输入的每一行,grep执行以下的操作:

(1) 把下一输入行复制到模式空间中. 模式空间是只可保存一个文本行的缓冲区;

(2) 对模式空间应用正则表达式;

(3) 如果有匹配存在,该行从模式空间中被复制到标准输出;

grep实用程序对输入的每行重复这三个操作步骤。


注意grep处理下列情况的方式:

1.grep是一个搜索程序,它只能搜索匹配一个正则表达式的一行的存在性;

2.grep可以对一行采取唯一的动作是把它发送到标准输出. 如果该行不匹配正则表达式,则其不被打印;

3.行的选择只基于正则表达式. 行编号或其他准则不能用于选择行;

4.grep是一个过滤器. 它可用在管道的左边或右边;

5.grep不能用于增加,删除或修改行;

6.grep不能用于只打印行的一部分;

7.grep不能只读取文件的一部分;

8.grep不能基于前面的内容或下一行来选择一行.只有一个缓冲区,它只保存当前行。


GREP家族包括grep,fgrep,egrep

fgrep:只支持字符串模式,不支持正则表达式;

grep:只支持数量有限的正则表达式;

egrep:支持大多数的正则表达式,但不是全部。


grep家族的选项:

-b   在每一行前加上所在文件块的编号

-c   只打印匹配模式的行编号记数

-i   在匹配文本时忽略大小写

-l   打印至少有一行匹配模式的文件列表

-n   在每行前显示其行编号

-s   哑模式. 执行其功能,但抑制所有输出

-v   逆向输出. 打印不匹配模式的行

-x   只打印完全匹配模式的行

-f file 要匹配的字符串列表在文件file中


grep:

一般格式:grep [options]  基本正则表达式 [filename]

注意:基本正则表达式可以为字符串,如果是字符串的时候请加上“”号,否则容易出错。


例子:

1、查询多个文件:

grep “sort”  *.php  在所有的php文件中查找"sort"。

2、行匹配

grep -c ”fdfd“ filename  计算filename中包含fdfd的函数。

grep ”fdfd“ filename 列出filename那么中包含"fdfd"的行。

grep -n ”fdfd“ filename 显示行数为第一个字段。

grep -n ”fdfd“ filename  显示非匹配行。

3、精确匹配

在匹配字符后面加上<tab>或者是\>。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值