shell脚本编程–正则表达式
上午知识点:
expect 预期交互
expect << EOF
spawn 执行的交互命令
expect “命令的提示关键字” { send “要发生的命令 \r”}
…
expect “#” { send “exit \r”}
EOF
变量的默认值
var =${var:-word}
正则表达式:
通配符 : * ? {} ^
*:匹配所有 *.txt
??.txt
[0-9] [a-z] [A-Z] [a-z] [0-9a-z] [1,2]
[^0-9]和[!0-9] //取反,非数字
*5? :倒数第二位第5的
{[abc],*.txt}: 匹配a,b,c 以.txt 结尾
[abc]*.txt :a或者b或者c开头后边任意以. txt结尾的
基本正则列表:
^ 匹配行首
$ 匹配行首
[] 集合,匹配集台中的任意单个字符
[^] 对集合取反
. 匹配任意单个字符
* 匹配*前一个字符任意次数[*不允许单独使用]
{n,m} 匹配前一个字符n到m次
{n} 匹配前一个字符n次
{n,} 匹配前一个字符n次以上
() 保留
扩展正则列表:
+ 最少匹配一次 1-∞
? 最多匹配一次 0-1 包含没有的情况
{n,m} 匹配n到m次
() 组合为整体,保留
| 或者
\b 单词边界
实例:
grep查询匹配的行:
egrep检索文本行:
echo -e 输出颜色
测试文件: