grep
2018-06-21 08:35:15来源:未知 阅读 ()
grep awk sed支持正则表达式
正则表达式的文法分为3种标准: BRE 、ERE 和 ARE
-------------- ERE
grep -E或者egrep
? - 最多一次匹配(零次或一次匹配)。
+ - 至少一次匹配(一次或更多次匹配)。
.
|
() : 表示分组,或者
使用这两种语法符号时,不在需要添加转义符。
ERE 取消了子表达式 "()" 和 次数匹配 "{m,n}" 语法符号的转义符引用语法,在
与此同时, ERE 也取消了非正则语义的子表达式向前引用能力。
--------------ARE : 高级正则表达式
非贪婪匹配 : ARE才支付
.*?
--------------BRE
grep pattern [file...]
(1)grep 搜索字符串 [filename]
(2)grep 正则表达式 [filename]
在文件中搜索所有 pattern 出现的位置, pattern 既可以是要搜索的字符串,也可以是一个正则表达式.
注意:在输入要搜索的字符串时最好使用双引号/而在模式匹配使用正则表达式时,注意使用单引号
为了避免shell的元字符对正则表达式的影响,请用单引号('')括起来,千万不要用双引号括起来("”)或者不括起来。
BRE 定义的语法符号包括:
. - 匹配任意一个字符。
[] - 字符集匹配,匹配方括号中定义的字符集之一。
[^] - 字符集否定匹配,匹配没有在方括号中定义的字符。
^ - 匹配开始位置。
$ - 匹配结束位置。
\(\) - 定义子表达式。
\n - 子表达式向前引用,n 为 1-9 之间的数字。 由于此功能已超出正则语义,需要在字符串中回溯,因此需要使用 NFA 算法进行匹配。
* - 任意次匹配(零次或多次匹配)。
\{m,n\} - 至少 m 次,至多 n 次匹配;\{m\} 表示 m 次精确匹配;\{m,\} 表示至少 m次匹配。
--------------------------------------------------------
grep ‘[a-z]\{5\}’ aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
一次搜索多个文件:
$ grep magic /usr/src/Linux/Doc/*
-n:显示匹配行及 行号。
-c :打印匹配的行数 。 只输出匹配行的计数。??
\< 和 \> 分别标注单词的开始与结尾。
[:space:] 等价于 [\t\r\f\v\n]
-----
待验收:
grep '[bB]' :搜B大小写
行匹配:输出匹配行的计数
grep -c "48" data.doc #输出文档中含有48字符的行数
显示匹配行和行数
grep -n "48" data.doc #显示所有匹配48的行和行号
--color:以特定颜色高亮显示匹配关键字
–color选项是个非常好的选项,可以让你清楚的明白匹配了那些字符。最好在自己的.bashrc或者.bash_profile文件中加入:
alias grep=grep --color=auto
-------------
待验证:
. - 匹配任意一个字符。 包括换号符号????
(egrep???)
搜跨一行内容:
grep 'XXX[^\n]+\YYY'
grep 'XXX.*?\nYYY' 要切换到 ARE
搜跨3行内容:
grep ‘XXX([^\n]+\n){3}YYY’
-------------
更多的选项请查看:man grep
多个选项,直接用空格分开
grep -A3 -n zhangy
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- awk命令详解 2020-06-10
- 执行yum list installed | grep xxx 命令时报错:未提供依赖 2020-05-03
- 使用grep -o统计文件中某个字符串出现的次数 2020-04-01
- 精通awk系列(20):awk数组用法详解 2020-02-29
- 精通awk系列(19):awk流程控制之break、continue、next、nex 2020-02-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash