正则
- 正则就是一串有规律的字符串,掌握好正则对于编写shell脚本有很大帮助,各种编程语言中都有正则,原理是一样的
- 正则三剑客
grep
grep用法:grep [参数] '关键字' 文件名 #关键词也可以是正则表达式
grep [-cinvABC] 'word' filename
-c 统计包含'关键字'的行数。既使一行有多个关键字,也会按一行计算。
-i 筛选'关键字'时不区分大小写。
-n 筛选'关键字'时显示关键字所在的行号。
-v 反向选择,也就是'关键字'以外的内容。
-r 查询关键词时遍历路径下的子目录。
-An 这里的n是一个数字。作用是过滤出符合要求的行以及下面的“n”行。
-Bn 同上,区别为符合要求的行以及上面的“n”行。
-Cn 同上,区别为符合要求的行以及上下的各“n”行。
grep -n 'root' /etc/passwd #显示出现root的行数
grep -nv 'nologin' /etc/passwd #不显示出现root的行数
grep '[0-9]'/etc/inittab #显示 /etc/inittab文件下出现0-9关键词的行数
grep -v '[0-9]'/etc/inittab #显示 /etc/inittab文件下出现0-9关键词之外的行数
grep -v '^#' /etc/inittab #^符号表示开头,#符号表示结尾。此处为显示/etc/inittab内容中不带空行的内容
grep -v '^#' /etc/inittab|grep -v '^$'
grep '^[^a-zA-Z]' test.txt
grep 'r.o' test.txt
grep 'oo*' test.txt
grep '.*' test.txt
grep 'o\{2\}' /etc/passwd
egrep 'o{2}' /etc/passwd
egrep 'o+' /etc/passwd
egrep 'oo?' /etc/passwd
egrep 'root|nologin' /etc/passwd
egrep '(oo){2}' /etc/passwd
参数-E以及egrep
正则表达式
sed
sed 命令参数
sed动作范围参数
sed的查找替换功能
查找替换的内容里包含“/”分界符的处理方案
查找替换的其他使用方法
awk