知名商城网站建设价格,凡科精选app,普洱市网站建设制作,怎样大力开发公司网站建设shell之文本过滤#xff08;grep#xff09; 分类#xff1a; linux shell脚本学习2012-09-14 14:17 588人阅读 评论(0) 收藏 举报shell正则表达式扩展工具存储grep#xff08;全局正则表达式版本#xff09;允许对文本文件进行模式查找。如果找到匹配模式#xff0c; gr… shell之文本过滤grep 分类 linux shell脚本学习2012-09-14 14:17 588人阅读 评论(0) 收藏 举报 shell正则表达式扩展工具存储 grep全局正则表达式版本允许对文本文件进行模式查找。如果找到匹配模式 grep打印包含模式的所有行。grep支持基本正则表达式也支持其扩展集。 g r e p一般格式为 grep [选项]基本正则表达式[文件] 这里基本正则表达式可为字符串。如果是字符串的时候请加上“”号否则容易出错。 常用的g r e p选项有-c 只输出匹配行的计数。-i 不区分大小写只适用于单字符 。-h 查询多文件时不显示文件名。-l 查询多文件时只输出包含匹配字符的文件名。-n 显示匹配行及行号。-s 不显示不存在或无匹配文本的错误信息。-v 显示不包含匹配文本的所有行。 grep和正则表达式使用正则表达式使模式匹配加入一些规则因此可以在抽取信息中加入更多选择。使用正则表达式时最好用单引号括起来这样可以防止 g r e p中使用的专有模式与一些 s he l l 命令的特殊方式相混淆。 要用好grep这个工具其实就是要写好正则表达式所以这里不对grep的所有功能进行实例讲解只列几个例子讲解一个正则表达式的写法。 $ ls -l | grep ^a 通过管道过滤ls -l输出的内容只显示以a开头的行。 $ grep test d* 显示所有以d开头的文件中包含test的行。 $ grep test aa bb cc 显示在aabbcc文件中匹配test的行。 $ grep [a-z]/{5/} aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。 $ grep w/(es/)t.*/1 aa 如果west被匹配则es就被存储到内存中并标记为1然后搜索任意个字符.*这些字符后面紧跟着另外一个es/1找到就显示该行。如果用egrep或grep -E就不用/号进行转义直接写成w(es)t.*/1就可以了。 grep正则表达式元字符集基本集^ 锚定行的开始 如^grep匹配所有以grep开头的行。 $ 锚定行的结束 如grep$匹配所有以grep结尾的行。 . 匹配一个非换行符的字符 如gr.p匹配gr后接一个任意字符然后是p。 * 匹配零个或多个先前字符 如*grep匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。 [] 匹配一个指定范围内的字符如[Gg]rep匹配Grep和grep。 [^] 匹配一个不在指定范围内的字符如[^A-FH-Z]rep匹配不包含A-R和T-Z的一个字母开头紧跟rep的行。 /(../) 标记匹配字符如/(love/)love被标记为1。 / 锚定单词的开始如:// 锚定单词的结束如grep/匹配包含以grep结尾的单词的行。 x/{m/} 重复字符xm次如0/{5/}匹配包含5个o的行。 x/{m,/} 重复字符x,至少m次如o/{5,/}匹配至少有5个o的行。 x/{m,n/} 重复字符x至少m次不多于n次如o/{5,10/}匹配5--10个o的行。 /w 匹配文字和数字字符也就是[A-Za-z0-9]如G/w*p匹配以G后跟零个或多个文字或数字字符然后是p。 /W /w的反置形式匹配一个或多个非单词字符如点号句号等。 /b 单词锁定符如: /bgrepb/只匹配grep。 转载于:https://www.cnblogs.com/L-H-R-X-hehe/p/3816191.html