shell02day
一.数组:
运算符:
二.加减乘除
法一:
法二:
混合与小数:
三.常用判断条件
1.两个整数之间比较
= 字符串比较
-lt 小于(less than) -le 小于等于(less equal)
-eq 等于(equal) -gt 大于(greater than)
-ge 大于等于(greater equal) -ne 不等于(Not equal)
2.按照文件权限进行判断
-r 有读的权限(read) -w 有写的权限(write)
-x 有执行的权限(execute)
例如:[ -x 文件名 ]
3.按照文件类型进行判断
-f 文件存在并且是一个常规的文件(file)
-e 文件存在(existence) -d 文件存在并是一个目录(directory)
例如:[ -e 文件名 ]
四.流程控制:
if
switch-case:
五.系统函数:
系统函数basename、dirname
六.文本处理工具:
cut:
sed:
选项参数 功能
-e 直接在指令列模式上进行sed的动作编辑(一次执行多个操作时)。
-i 直接编辑文件
命令功能描述
命令 功能描述
a 新增,a的后面可以接字串,在下一行出现
d 删除
s 查找并替换
sort:
-n 依照数值的大小排序
-r 以相反的顺序来排序
-t 设置排序时所用的分隔字符
-k 指定需要排序的列
sort -t : -k 3 -n passwd 升序
sort -t : -k 3 -nr passwd 降序
awk:
-F |
指定输入文件折分隔符 |
-v |
赋值一个用户定义变量 |
正则表达式
. 匹配除了换行符之外的任意字符
\d 匹配数字0-9 => [0-9]
\D 匹配非数字 => [^0-9]
\s 匹配空白字符(空格 \t \n ....)
\S 匹配非空白字符
\w 匹配单词字符([a-zA-Z0-9_])
\W 匹配非单词字符
^ 匹配以...开头
$ 匹配结尾
多字符匹配(贪婪匹配)
.* 匹配*号前的字符任意次数 aaabbbccc a*?
.+ 匹配+号前的字符至少一次
.? 匹配?号前的字符0~1次
多字符匹配(非贪婪匹配)
.*?
.+?
.??