前言
拓展–正则 regular expression
元字符:能描述其他的字符的字节 --》有特殊作用的字符 $^?*{ }
基本正则:$^.*
扩展正则: | + ? {}
cat a.txt|grep "abc{3}"什么都匹配不出,但是egrep可以匹配出abccc,
egrep支持拓展正则的grep命令,extend扩展
通配符不等于元字符:
shell的通配符: ?:代表一个任意字符 * :代表任意个任意字符
re里面的元字符:*:前面的字符可以出现任意(0或者n) ?:前面的字符可以出现0次或者一次 +:前面的字符可以出现一次或者n次
linux里面有很多命令支持正则如:
vim
sed
grep
awk
.*代表任意
\b分词 \ba以a开头 \bad\b找的就是ad <>一样
grep 文本过滤工具
grep [OPTIONS] PATTERN [FILE…]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE…]
--color=auto 高亮显示
-i:忽略大小写
-o:只显示匹配到的行
-w:匹配整个单词(数字字母下划线算单词一部分)
-v:只显示不被模式匹配到的行
-n:显示行号
-c:统计匹配到的行数
-e:多个选项之间是逻辑或or关系
^[ ] 表示查找以 【 】中开头的字符
-q:静默模式,不显示任何信息
-A #:After,前#行
-B #:Before,后#行
-C #:Context,前后#行
-E:使用扩展正则表达式Egrep
-F:使用Fgrep
拓展:
wc统计命令 :行数 单词数 字节数 -l统计行
-r 递归查找,要找的东西不知道在那个文件,直接用递归,查找出文件夹里的所有文件和文件夹里包含某个字符串 后面只接文件夹,不需要接文件
使用glances
是可以查看linux系统的性能参数的,例如cpu、内存、磁盘、进程等信息
安装第三方yum源
yum install epel-release -y
,
安装 yum install glances -y
time 统计一条命令使用的时间 time bash XXX
单词界定
awk 报告生成器
awk [option] 'pattern {action}' filename
命令 + 选项 + 找谁 + 干啥 + 文件名
option:
-F :指定分隔符(不指定默认以空格为分隔符)
基本语法
![在这里插入图片描述](https://img-blog.csdnimg.cn/59791f30489c467495ceb3395e55242e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5rKD6YeO5biD5YW56YGT,size_20,color_FFFFFF,t_70,g_se,x_16)
默认的分隔符是空白(空格和tab键)
输入分隔符
-F
指定分隔符 可用" " 引用 也可不用
输出分隔符
,
内置变量
NR
代表行号
NF
代表每行的字段数
$NF
代表最后一个字段
$0
输出整行
$1
代表第一个字段
FS
输入分隔符
OFS
当前的输出分隔符
操作符
-v
引入shell里面的变量
不接-v
if语句
多分支语句的格式
sed替换
语法
常用的编辑命令
不是选项,放在‘ ’中间
p命令
连续用,不连续的行用;
5~100!p
取反 输出1到5行
跟-n一起搭配
1~2p
取值是单数行 1 3 5...
d命令
可以根据行号和模式匹配进行操作
接-i 直接对源文件进行删除
a命令
也是根据行号和模式匹配进行追加操作(在后面)
i命令
也是根据行号和模式匹配进行追加操作(在前面)
s命令
替换命令
s/ / /g
加g代表全部替换
单双引号的区别