标签:正则
正则表达式是一串有规律的字符串
grep ‘ abc123’ filename
`- c : 行数,可以用来计数,文本里出现多少次要找的字符串
`- i : 不区分大小写
`- n : 显示行号
`- v: 取反
`- r : 遍历子目录以下的文件,遍历目录用 -r
`- A : 后面跟数字,过滤出符合要求的行以及下面的n行
`- B: 同上,过滤出符合要求的行以及上面的n行
`- C : 同上,同时过滤出符合要求的行以及上下各n行
元字符
`*` 前一个字符匹配 0 次或 任意 多次(星 号前一个字符不起作用)
`.` 匹配除了换行符外 点号前面的任意 一个 字符
`+` 表示1次到多次,\+也要脱义,否则用egrep
? ?号前面的字符匹配1或者0次,\?也要脱义,否则用egrep
$ 匹配行首,列如 ^hello 会匹配以 hello 开头的行
| 表示匹配多个字符 ‘root|nologin|aaa‘
[ ] 匹配中括号指定的任意一个字符,只匹配一个字符
例如:[0-9]匹配任意一个数字,[a-z][0-9]匹配小写字母和一位数字构成的两位字符
[^] 匹配除了中括号的字符以外的任意一个字符
例如:[^0-9] 匹配任意一位非数字字符。
[^a-z] 表示任意一位非小写字符。
\ 转移符,用于取消将特殊符号的含义取消
\{n\} 表示其前面的字符恰好出现n次
例如:[0-9]\{4\} 匹配4位数字
[1][3-8][0-9]\{9\} 匹配手机号码
\{n,\} 表示其前面的字符出现 不小于n 次
例如:[0-9]\{2,\} 表示两位以及以上的数字
\{n,m\} 表示其前面的字符出现 至少n 次,最多出现 m 次。
例如:[a-z]\{6,8\} 匹配6到8位的小写字母
egrep = grep -E 可以免去脱义符
egrep ‘{}‘ = grep ‘\{\}‘ = grep -E ‘{}‘
轻量级流编辑器,主要用来将数据进行选取,替换,删除,新增
`- r : 支持脱义
`- n : 一般会把所有的数据输出到屏幕上,如果加入n选项,只会输出已匹配的行,一般加入p 选项print
`- e : 加多命令编辑
`- i : 修改,修改已读数据文件,直接更改文件内容,sed -i ‘1,5‘d 1.txt
动作,加在 ‘字符串‘后面的
`- I : 不区分大小写
`- d : 删除指定行数 sed ‘1,10‘d 1.txt 1-10行delete
`- a :追加,在当前行后添加一行或者多行
`- c : 行替换,用c 后面的字符串替换原数据
`- i : 插入,在当前行前插入一行或者多行。d : 删除,g : 全局
`- p : 打印,输出指定的行
`- s : 字串替换,用一个字符串替换另一个字符串
‘行范围s/旧字符串/新字符串/g‘ g : 表示全局,不加就表示一行
awk 工具 分段匹配
`- F 指定分割符
$1 表示 第一段, $0 表示所有
awk ‘{print $0}‘ 1.txt
awk ‘{print $1,$3,$7}‘ 1.txt
默认分隔符为空格,或者空白字符
`~` 匹配 后面的字符
也支持正则
支持多个表达式一起写
awk -F ‘:‘ ‘/root|user ‘{print $0}‘ 1.txt
数学运算
$3 > 100 大于100
$3 == 100 等于100
$3 < 100 小于100
$3 >= 100 大于等于100
$3 != 100 不等于
$3 > "5" && $3 < "7" 大于5小于7 &&与,||或
{OFS="#"} 内置变量,指定print打印用到的分割符#
{NR} 行 ‘NR<=10‘ 前10行
{NF} 段 ‘NF==6‘ 第6段
{BEGIN} {END}
标签:正则
原文地址:http://blog.51cto.com/13574510/2072842