正则表达式

sell正则表达式:主要用于字符串的模式

分割,匹配查找及替代。用来(包含)匹

配(字符串)

Grep种类(grep  fgrep  pgrep  egrep)

"*"前一个字符匹配0次.或任意多次比如

a*a越多越详细

"·"任意一个字符

"?"左边那一个字符有0个到1个

"?"匹配行首

"$"匹配行尾以小写结尾

"[ ]"匹配中括号里的任意一个字符只匹配

一个字符

"[ ? ]"匹配中括号以外的任意一个字符

"/"转义符

 "+ "左边那一个字符有一个到无穷个

{n}左边哪一个字符有n个

{n,m}左边的哪一个字符有n个到m个

{n,}左边哪一个字符有n个到无穷个

[a-z]所有的小写字母

[A-Z]所有的大写字母

[a-zA-Z]所有的大写字母

注意一点是;如果想要匹配的字符就是一本身

话必须放到最后去

Sed(流程编辑器)

Sed [options]`command`in_file [ s]

Command部分

[ 地址1,地址2] [ 函数] [参数(标记) ]

定址的方法1.数字2.正则

数字定址:sed –n`1p`/etc/passwd

正则定址:sed –n`/^root/p`/etc/passwd

扩展正则 加-r 参数或转义

Sed –n`/roo \?/p`/etc/passwd

Sed-rn`/roo?/p`/etc/passwd

?前导字符零个或一个

+前导字符一个或多个

abc \def abc或adef

a(bc |de)f abcf或adef

x \{m \}x出现m次

x \{m, \}x出现m次至多次(至少m次)

x \{m,n \}x出现m次至n次

awk

语法awk[options]`commands`fils

-F定义字段分隔符,默认的分隔符是连续的空格

或字表符使用option中的-F参数定义间隔符号

用$1,$2,$3,等的顺序表示files每行间隔符号分隔

的列不同域

NF变量表示当前记录的字段数

-v定义变量并赋值.也可以借用次方式从sell变量

中引入

Command 读前处理行中处理读后处理

命令{print $0}

读后处理END{awk_cmd1;awk_cmd2;}

AWK变量

NR 当前记录的个数(全部文件连接后的统计)

FNR当前记录的个数(仅为当前文件统计,非全部)

FS字段分隔符默认为连续空格或列表符,可以使用

多个不同的分隔符如-F[;/]

OFS 输出字符的分隔符 默认是空格

# awk -F: 'OFS="=====" {print $1,$2}' /etc/passwd
root=====x

NF当前读入行的字段数

Ors 输出记录的分隔符 默认是换行

# awk -F: 'ORS="=====" {print $1,$2}' /etc/passwd
root x=====bin x=====

FILENAME当前文件名

引用sell变量的方法

posted @ 2017-03-22 15:35  gaohanxu  阅读(109)  评论(0编辑  收藏  举报