文章目录
- 1 正则表达式
- 1.1 基础正则
- 1.2 扩展正则(了解即可)
- 2 cut截取文本
- 3 awk编程
- 3.1 printf格式化输出
- 3.2 awk基本使用
- 4 sed命令
- 5 字符串的排序、去重和统计
- 5.1 排序sort
- 5.2 去重uniq
- 5.3 统计wc
- 参考资料
1 正则表达式
shell
中的正则表达式与通配符的区别:正则表达式是用来匹配字符串
的,通配符是用来匹配文件名
的。
1.1 基础正则
- 通过grep搭配使用。注意,如果
grep
加了-E
选项,则在\{n\}
中不需要加上\
转义符。
1.2 扩展正则(了解即可)
- 在shell中使用扩展正则,必须使用
egrep
命令或grep -E
选项。
2 cut截取文本
- cut命令的默认分隔符是
制表符
。 - 对比grep命令。grep是提取特定的
行
,cut是提取特定的列
。
- 一些案例
- cut命令的局限性:用
空格键
作为分隔符时,经常会满足不了需求。因为不同行的空格数量是不一致的。
3 awk编程
- awk的基本作用也是截取
列
。
3.1 printf格式化输出
-
printf后面跟的是
单引号
。 -
printf基本不单独使用,都是与awk结合使用。
-
在printf的单引号中,只能识别
格式输出符号
,如\n, \t等,手动输入的空格是无效的。
3.2 awk基本使用
-
在awk中,printf的格式输出符号使用
双引号
。 -
awk除了printf,还支持print。两者的区别是:
print
输出每一行后会有个换行
,而printf
没有;print
在shell终端中无法执行,而printf
可以。
-
一些只用到
格式化输出
的案例。$0
是整行数据,$1
是第一列,$2
是第二列,以此类推。
- awk的
条件
-
awk中的正则表达式,在
//
两个斜杠之中使用。 -
awk的内置变量。常用:
NF
、NR
、FS
。这些变量不能写在双引号
中。
- 注意,字符串也要写在
""
双引号中。如下例所示的中文字符串,都放在了双引号中。
4 sed命令
-
sed是用来将字符串进行选取、替换、删除、新增的命令
-
打印特定行
- 删除特定行的显示,此时不要加
-n
选项
- 加上
-e
选项,允许执行多条sed命令,使用;
分隔开。
- 字符串替换操作。
5 字符串的排序、去重和统计
5.1 排序sort
- 一些案例
5.2 去重uniq
5.3 统计wc
参考资料
【1】尚硅谷Linux系统管理教程(linux系统管理精讲)
【2】https://www.yuque/mo_ming/gl7b70/ponqh7
更多推荐
【Shell】正则表达式与字符串处理
发布评论