Linux(10)Shell编程

一 正则表达式

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相反)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了82 篇原创文章 · 获赞 1 · 访问量 1983

猜你喜欢

转载自blog.csdn.net/m0_38060977/article/details/103153102