日期:2014-05-16  浏览次数:20726 次

Linux学习记录--正则表达式与其应用

正则表达式与其应用

 

数据处理工具:awk ,sed

 

正则表达式基本上是一种“表示法”,只要工具程序支持这种表示法,那么该工具程序就可以用来作为正则表达式的字符串处理只用。例如vi,grep,awk,sed等工具

 

正则表达式特殊符号

 

语系对应正在表达式也会存在影响。比如

LANG=C时:0 1 2 3 4 … A B C D ..Z a b c d ..z

LANG=ZH_CN时:0 1 2 3 4 …a A b B c C d D …….

 

因此[a-z]C语系时代表的意义是获取小写字母。在ZH_CN语系时代表的意义就是获取字母(大写与小写)

为了避免数字和字母的选取错误,正则表达式采用特殊符号来代表

[:alnum:]:代表英文大小写字符及数字。A-Z a-z 0-9

[:alpha:]:代表英文大小写字符 A-Z a-z

[:blank:]:代表空格与TAB

[:cntrl:]:代表键盘上的控制按键 CR,LF,TAB,DEL

[:digit:]:代表数据 0-9

[:graph:]:代表除了空格与TAB键的其他所有按键

[:lower:]:代表小写字符

[:upper:]:代表大写字符

[:print:]:代表任何可以被打印出来了的字符

[:punct:]:代表标点符号字符

[:space:]:代表会产生的空白的字符如TAB空格 CR

[:xdigit:]:代表十六进制的数字类型 0-9 A-F a-f

 

举例

[root@localhost ~]# cat xargsfile |grep -n '[[:upper:]]'

2:FRA

4:AWEE

 

基础正则表达式字符

字符

意义与范例

^word

意义:查找以word为行首的数据

 

举例:查找以#开始的那一行

gerp ‘^#’ file.txt