正则表达式&shell编程基础
1.基础正则表达式
1.1正则表达式与通配符
1.2基础正则表达式
案例1:
“*”前一个字符匹配0次,或任意多次
案例2:"."匹配除了换行符外任意一个字符
案例3:“^”匹配行首,“$”匹配行尾
案例4:“[ ]”匹配中括号中指定的任意一个字符,只匹配一个字符
案例5:匹配除中括号的字符以为的任意一个字符
案例六:转义符
案例七:\{n\}表示其前面的字符恰好出现n次
案例八:\{n,m\}表示前面字符至少出现n次,最多出现m次。
2.字符截取命令
2.1 cut字段提前命令
案例1:
:
案例2:cut一般和grep联合使用,例如批量删除用户(在/etc/passwd文件下提取user1/user2/user3)
cut命令的局限性
2.2 printf命令
输出格式
print和printf的区别
2.3 awk命令
2.3.1cut命令的局限性
2.3.2 awk命令(默认识别的分隔符是制表符和空格)
案例:
案例1:打印第二列和第四列
案例2:截取指定列
案例3:提取指定数字
案例4:BEGIN
案例5:FS内置变量
案例6:END
案例7:关系运算符
2.4 sed命令
格式:
动作:
案例:
查看文件的第二行
删除第二行到第三行数据
追加和插入
替换
修改源文件数据-i
允许多个条件执行
3.字符处理命令
3.1 排序命令sort
案例:
3.2统计字符命令wc
4.条件判断
4-1按照文件类型进行判断
两种格式判断文件是否在
案例:判断普通文件是否存在
4-2安装文件的权限进行判断
案例:
4-3 两个文件之间进行比较
案例:
4-4两个整数之间的比较
案例:
4-5字符串的判断
案例1:判断字符串是否为空
案例2:判断2个字串是否相等
4-6重判断
案例
5.流程控制
5.1.1 单分支if条件语句
单分支条件语句需要注意几个点
案例1:判断分区使用率
5.1.2 双分支if条件语句
案例:备份mysql数据库
案例:判断apache是否启动
5.1.3 多分支if条件语句
案例:判断用户输入的是什么文件
5.2 case语句
多分支case条件语句
格式:
案例:
5.3 for循环
语法一:
案例:
案例:批量解压缩
案例2:看有几个.sh文件,并打印
语法二:
案例:从1加到100
5.4 while循环
格式:
案例1到100的和
5.5 until循环