Shell 正则表达式

释放双眼,带上耳机,听听看~!

正则表达式

正则表达式是什么

正则表达式是用于描述字符排列和匹配模式的一种语法规则。
它主要用于字符串的模式分割、匹配、查找以及替换。

正则表达式与通配符

1.正则表达式用来在文件中匹配符号条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达式。
2.通配符用来陪陪符合条件的文件名,通配符是完全匹配。ls、find、cp这些命令不支持正则表达式,所以只能使用shell自己的通配符来进行匹配了。


1
2
3
4
5
1通配符
2    *        //匹配任意内容
3    ?        //匹配任意一个内容
4    []       //匹配中括号中的一个字符
5

3.基础正则表达式
Shell 正则表达式

字符截取命令

1、cut字段提取命令


1
2
3
4
5
6
1cut     [选项]        文件名
2        -f  列号:提取第几列
3        -d  分割符:按照制定分割符分割列
4
5cut -d ":" -f 1,3 /etc/passwd
6

2、printf命令


1
2
3
4
5
6
1printf  '输出类型输出格式'    输出内容
2            输出类型
3                    - %ns:     输出字符串。n是数字指代输出几个字符
4                    -  %ni:  输出整数。n是数字指代输出几个数字
5                    -  %m.nf:  输出浮点数。m和n是数字,指代输出的整数位数和小数位数如%8.2f代表共输出8位数,其中2位是小数,6位是整数。
6

1
2
3
4
5
6
7
8
9
1输出格式
2    - \a: 输出警告声音
3    - \b: 输出退格键,也就是Backspace键
4    - \f: 清除屏幕
5    - \n: 换行
6    - \r: 回车,也就是说Enter键
7    - \t: 水平输出退格键,也就是Tab键
8    - \v: 垂直输出退格键,也就是Tab键
9

3、awk命令


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1awk '条件1{动作1}条件2{动作2}...' 文件名
2
3    条件(Pattern)
4        - 一般使用关系表达式作为条件
5        - x>10判断变量x是否大于10
6        - x>=10大于等于
7        - x<=10小于等于
8    动作
9        - 格式化输出
10        - 流程控制语句
11
12
13 df -h | grep "/dev/sdb2" | awk '{print $5}' | cut -d '%' -f 1
14
15BEGIN  开始之前
16END    结束
17FS内置变量
18cat /etc/passwd | grep "/bin/bash" | awk 'BEGIN {FS=":"} {printf $1 "\t" $3 "\n"}'
19
20

4、sed命令

sed主要是用来将数据进行选取、替换、删除、新增的命令


1
2
3
4
5
6
7
8
9
10
11
12
13
14
1sed [选项] '[动作]'  文件名
2选项
3    - n :一般sed命令会把所有数据都输出到屏幕,如果加入此选择则只会把经过sed命令处理的行输出到屏幕
4    - e : 允许对输入数据应用多条sed命令编辑
5    - i :用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出
6
7动作
8    - a :追加,在当前行后添加一行或多行
9    - c : 行替换,用c后面的字符传替换原数据行
10    - i : 插入,在当前行插入一行或多行
11    - d :删除,删除指定的行
12    - p :打印,输出指定的行
13    - s :字符替换,用一个字符串替换另外一个字符串。格式为"行范围s/旧字串/新字串/g"
14

字符串命令

1、排序命令sort


1
2
3
4
5
6
7
1sort    [选项]    文件名
2        - f : 忽略大小写
3        - n : 以数值型进行排序,默认使用字符串型排序
4        - r : 反向排序
5        - t : 指定分割符,默认是分割符是治标符
6        - k n[,m] : 按照指定的字段范围排序。从第n字段开始,m字段结束(默认到行尾)
7

2、统计命令


1
2
3
4
5
1wc  [选项]    文件名
2    - l : 只统计行
3    - w :  只统计单词数
4    - m :  只统计字符数
5

给TA打赏
共{{data.count}}人
人已打赏
安全技术安全运维

Windows服务器如何发现被黑

2018-5-20 12:24:31

安全技术

详解Node.js API系列 Crypto加密模块

2021-12-21 16:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索