正则表达式
- 一种字符串处理的表示方法
- 以行为单位,处理字符串的方法,达到查找,删除,替换的功能。
-工具vi,grep,awk,sed 等均支持正则表示法。所以工具程序都可用来通过正则表示法,处理字符串。
-
- 以行为单位,处理字符串的方法,达到查找,删除,替换的功能。
Grep
在不同语系中攫取的结果不同
特殊符号 | 代表意义 |
---|---|
[:alnum:] | 代表英文大小写字节和数字 |
[:alpha:] | 英文大小写字节 |
[:upper:] | 大写字节 |
[:lower:] | 小写字节 |
[:digit:] | 数字 |
搜索特定字符串
dmesg|grep -n -A3 -B2 --color=auto 'eth' filename
#dmesg: 列出关键信息
#-n: ;列出行号
#-v: 反向选择
#-i:不区分大小写选择
#A3,B2: 同时还列出搜索的结果前三行,后两行
# color=auto, 给搜索结果显色
搜索结合字节
grep -n 't[ae]'st filename.txt
#搜索taste和test
grep -n '[^g]oo' filename.txt
#搜索除了goo的其他oo
grep -n '[^a-z]oo' filename.txt
#不要小写字符+oo,可以全部列出,但是ASCII码是一致的
#[^]
仅搜索首行字节和尾行字节
^或$+[]
grep -n '^[[:lower:]]' filename.txt
#第一个字节都小写, 与'[a-z]' 类似
grep -n '^[a-zA-Z]' filename.txt
grep -n '\.$' filename.txt
#以小数点结尾,因为小数点有特殊意义,所以用\解除它的特殊意义。
grep -n 'e.e' regular_express.txt
#小数点的特殊意义:一定有,一个,任意字符。
grep -v '^$' filename.txt
#找出空白行
搜索任意一个字节
grep -n 'g..d' filename.txt
#g和d之前仅存在两个字节
grep -n 'g*d' filename.txt
#* 表示存在任意字节
grep -n 'o*' filename.txt
#寻找任意个连在一起的o
限定连续RE字符范围
grep -n 'o\{2\}' filename.txt
#similar with 'o*'
grep -n 'o\{2,5\}' filename.txt
#找有2-5个o