一 正则表达式
1.1 正则表达式和通配符
- 包含匹配和完全匹配
- 匹配文件名还是匹配文件内容
1.2 基础正则表达式
需要注意*
和通配符
的规则不一致。
a*问题
除了换行符
只匹配一个
二 字符截取命令
2.1 cut字段提取命令
grep时提取行
用法
默认分隔符是制表符
2.2 printf命令
多个输入
个人理解:下面的语句就是3个输入一组,进行格式化
[root@zhuyc ~]# printf '%s -- %s -- %s\n' 1 2 3 4 5 6 7 8
1 -- 2 -- 3
4 -- 5 -- 6
7 -- 8 --
awk命令中没有print命令
2.3 awk命令
用法
$1表示第一列,以空格为分割符
begin
FS
指定分割符
原因:awk的处理逻辑是先读入第一行数据,然后读取前面的动作。这时第一行
已经按默认
分割符处理了。
END
2.4 sed
和vim的区别,vim只能操作文件
用法
举例子
##只输出处理行
[root@zhuyc ~]# df -h|sed -n '2p'
devtmpfs 894M 0 894M 0% /dev
##删除指定行
[root@zhuyc ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 894M 0 894M 0% /dev
tmpfs 910M 0 910M 0% /dev/shm
tmpfs 910M 11M 900M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 10G 5.7G 4.4G 57% /
/dev/sda1 197M 197M 612K 100% /boot
tmpfs 182M 12K 182M 1% /run/user/42
tmpfs 182M 0 182M 0% /run/user/0
[root@zhuyc ~]# df -h|sed '2,3d'
Filesystem Size Used Avail Use% Mounted on
tmpfs 910M 11M 900M 2% /run
tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/mapper/centos-root 10G 5.7G 4.4G 57% /
/dev/sda1 197M 197M 612K 100% /boot
tmpfs 182M 12K 182M 1% /run/user/42
tmpfs 182M 0 182M 0% /run/user/0
##
三 字符串处理命令
3.1 排序命令 sort
3.2 统计命令wc
四 条件判断
4.1 按照文件类型进行判断
两种判断格式
4.2 按照文件权限进行判断
4.3 两个文件之间进行比较
4.4 两个整数之间比较
4.5 字符串的判断
4.6 多重条件判断
和第八篇文章的 – 七:多命令顺序执行 很像
五 流程控制
5.1 if语句
单分支
例子:判断分区使用率
双分支
备份mysql数据库
&>
是第八章输出重定向的内容
判断apache是否启动
判断用户输入的是什么文件
5.2 case语句
只能判断一种条件关系
用法
5.3 for循环
打印时间
批量解压
语法二
批量添加指定数量的用户
5.4 while和util循环
while基本介绍
util(和while相反)