GREP 是 Global Regular Expression Print 的缩写
对于标准输入的每一行,grep执行以下的操作:
(1) 把下一输入行复制到模式空间中. 模式空间是只可保存一个文本行的缓冲区.
(2) 对模式空间应用正则表达式.
(3) 如果有匹配存在,该行从模式空间中被复制到标准输出.
注意grep处理下列情况的方式:
1.grep是一个搜索程序,它只能搜索匹配一个正则表达式的一行的存在性.
2.grep可以对一行采取唯一的动作是把它发送到标准输出. 如果该行不匹配正则表达式,则其不被打印.
3.行的选择只基于正则表达式. 行编号或其他准则不能用于选择行.
4.grep是一个过滤器. 它可用在管道的左边或右边.
5.grep不能用于增加,删除或修改行.
6.grep不能用于只打印行的一部分.
7.grep不能只读取文件的一部分.
8.grep不能基于前面的内容或下一行来选择一行.只有一个缓冲区,它只保存当前行.
GREP族包括: grep,fgrep,egrep
fgrep:只支持字符串模式,不支持正则表达式.
grep:只支持数量有限的正则表达式.
egrep:支持大多数的正则表达式,但不是全部.
其中egrep就等同于grep -E ,fgrep等同于grep -F
grep常用的选项:
-c 只打印匹配模式的行编号记数
-i 在匹配文本时忽略大小写
-n 在每行前显示其行编号
-v 逆向输出. 打印不匹配模式的行
grep:
一般格式:grep [options] 基本正则表达式 [filename]
注意:基本正则表达式可以为字符串,如果是字符串的时候请加上“”号,否则容易出错
例子:
1.sh
#!/bin/bash
echo $0 | awk -F/ '{print $NF}'
echo $1 | awk -F/ '{print $NF}'
cp 1.sh 2.sh
1、查询多个文件:
[root@localhost ~]# grep 'echo' *.sh
1.sh:echo $0 | awk -F/ '{print $NF}'
1.sh:echo $1 | awk -F/ '{print $NF}'
2.sh:echo $0 | awk -F/ '{print $NF}'
2.sh:echo $1 | awk -F/ '{print $NF}'
2、行匹配
计算本目录下sh文件中包含echo字符的个数
[root@localhost ~]# grep -c "echo" *.sh
1.sh:2
2.sh:2
在每行前显示其行号
[root@localhost ~]# grep -n "echo" *.sh
1.sh:2:echo $0 | awk -F/ '{print $NF}'
1.sh:3:echo $1 | awk -F/ '{print $NF}'
2.sh:2:echo $0 | awk -F/ '{print $NF}'
2.sh:3:echo $1 | awk -F/ '{print $NF}'
逆向输出. 打印不匹配模式的行
[root@localhost ~]# grep -v "echo" *.sh
1.sh:#!/bin/bash
2.sh:#!/bin/bash
在匹配文本时忽略大小写
[root@localhost ~]# grep -i "ECHO" *.sh
1.sh:echo $0 | awk -F/ '{print $NF}'
1.sh:echo $1 | awk -F/ '{print $NF}'
2.sh:echo $0 | awk -F/ '{print $NF}'
2.sh:echo $1 | awk -F/ '{print $NF}'
分享到:
相关推荐
linux下grep的详细用法介绍,有需要的欢迎下载
grep命令详解
含有详细的Grep命令,快速易懂
linux grep 命令的详情解释 给初级者
Linux 三剑客 Awk、Sed、Grep 命令详解
grep 命令操作说明使用详解
首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同! 正则表达式只是一种表示法,只要工具支持这种表示法, ...vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大。
常用命令
它能使用正则表达式搜索,用于在文件中搜索指定的字符串模式,列出含有匹配模式子符串的文件名,并输出含有该字符串的文本行。 grep的工作方式是这样的:它在一个或多个文件中搜索字符串模板。如果模板包括空格,则...
linux grep sed awk命令的综合运用以及详解
在Linux系统下grep命令的功能非常的强大,其作用是查找整个文件里符合条件的关键字,grep命令在查找关键字时,只要查找到包含该关键字的行,就会把...在使用grep命令时,如果配合管道符使用的话,功能会更加的强大。
该文档详尽地描述grep命令的用法和在开发中的好处
主要给大家介绍了关于Linux中利用grep命令如何检索文件内容的相关资料,并且给大家简单介绍了关于Linux grep和find的区别,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
Linux grep 命令 Linux grep 命令用于查找文件里符合条件的字符串。 grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来...
介绍linux下的grep关键查询的命令用法
find 命令的一般格式:xargs 命令,find 命令的一般格式:xargs 命令
LINUX下grep、sed、gawk指令详解.pdf
linux-grep-命令-详解
vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大;在以前上班的公司里,由于公司是基于web的服务型网站(nginx),对正则的需求比 较大,所以也花了点时间研究正则,特与大家分享...
本文以grep为例来讲解正则表达式。 grep命令 功能:输入文件的每一行中查找字符串。 基本用法: grep [-acinv] [–color=auto] [-A n] [-B n] ‘搜寻字符串’ 文件名 参数说明: -a:将二进制文档以文本方式处理 -c...