当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > shell 阅读笔记-正则表达式与grep

Unix/Linux
FreeBSD完全入门手册
FreeBSD中启用3D加速功能的方法
光盘安装OpenBSD3.6的方法
硬盘安装OpenBSD 3.6的方法
FreeBSD局域网内升级Ports Tree及Port的安装
FreeBSD 数据备份和迁移方法
让root用户telnet到FreeBSD的方法
OPENBSD-3.8上快速安装和配置apache+mysql+php+ssl
用OpenBSD 3.8 release自带的FTPD架设FTP服务器
freebsd 常用命令
FreeBSD系统SSH配置详解
FreeBSD 6.2用freebsd-update升级过程
FreeBSD双线负载均衡NAT服务器配置方法
FreeBSD系统下读写 NTFS分区
Freebsd7.0 Apache2.2+MySQL5+PHP5安装和配置方法
freebsd6.2 nginx+php+mysql+zend系统优化防止ddos攻击
FreeBSD5.2.1上建立功能完整的邮件服务器(POSTFIX)
FreeBSD学习经验
FREEBSD系统优化精华
FreeBSD su Sorry问题解决办法

Unix/Linux 中的 shell 阅读笔记-正则表达式与grep


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 164 ::
收藏到网摘: n/a

正则表达式与grep ,在指南的第7和8章
shell 阅读笔记-正则表达式与grep一  正则表达式基本元字符集及其含义    ^     只只匹配行首    $     只只匹配行尾    *     只一个单字符后紧跟*,匹配0个或多个此单字符    [ ]   只匹配[ ]内字符。可以是一个单字符,也可以是字符序列。可以使用-            表示[ ]内字符序列范围,如用[ 1 - 5 ]代替[ 1 2 3 4 5 ]    \     只用来屏蔽一个元字符的特殊含义。因为有时在shell中一些元字符有           特殊含义。\可以使其失去应有意义    .     只匹配任意单字符  pattern\      只用来匹配前面pattern出现次数。n为次数  pattern\m    只含义同上,但次数最少为n  pattern\    只含义同上,但pattern出现次数在n与m之间二  grep 的用法 1 双引号引用   在grep命令中输入字符串参数时,最好将其用双引号括起来 2 grep选项   常用的g r e p选项有:   -c 只输出匹配行的计数。   -i 不区分大小写(只适用于单字符)。   -h 查询多文件时不显示文件名。   -l 查询多文件时只输出包含匹配字符的文件名。   -n 显示匹配行及行号。   -s 不显示不存在或无匹配文本的错误信息。   -v 显示不包含匹配文本的所有行。 3  精确匹配     使用grep抽取精确匹配的一种更有效方式是在抽取字符串后加\>。假定现在精确抽取48,则为"48\>"三 grep和正则表达式     使用正则表达式时最好用单引号括起来,这样可以防止grep中使用的专有模式与一些shell命令的特殊方式相混淆。  1 模式范围    假定要抽取代码为484和483的城市位置,上一章中讲到可以使用[ ]来指定字符串范围,这里用48开始,    以3或4结尾,这样抽出484或483。grep '48[34]' data.f  2 不匹配行首     如果要抽出记录,使其行首不是48,可以在方括号中使用^记号,表明查询在行首开始。     grep '^[^48]' data.f  3 匹配任意字符   如果抽取以L开头,以D结尾的所有代码,可使用下述方法,因为已知代码长度为5个字符:    grep 'L...D' data.f  4 日期查询    一个常用的查询模式是日期查询。先查询所有以5开始以1 9 9 6或1 9 9 8结尾的所有记录。使用模式5..199[6,8].这意味着第一个字符为     5,后跟两个点,接着是199,剩余两个数字是6或8。     grep '5..199[6,8]' data.f    查询包含1998的所有记录的另外一种方法是使用表达式[0-9]\[8],含义是任意数字重复3次,后跟数字8,虽然这个方法不像上一个方    法那么精确,但也有一定作用。  5 使用grep匹配“与”或者“或”模式    grep命令加- E参数,这一扩展允许使用扩展模式匹配。例如,要抽取城市代码为2 1 9或2 1 6,方法如下:    grep -E '219|216' data.f  6 空行   结合使用^和$可查询空行。使用- n参数显示实际行数:    grep '^$' data.f  7 grep 与类名的使用   类等价的正则表达式类等价的正则表达式  [[:upper:]]   [A-Z]               [[:alnum:]]  [0-9a-zA-Z]  [[:lower:]]   [a-z]               [[:space:]] 空格或t a b键  [[:digit:]]   [0-9]                [[:alpha:]] [a-zA-Z]