正则表达式 grep awk sed

1.正则表达式

Regular Expressions,由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能,类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件名,而正则表达式是处理文本内容中字符
正则表达式被很多程序和开发语言所广泛支持:vim, less,grep,sed,awk, nginx,mysql 等主要用来匹配字符串(命令结果,文本内容),
通配符匹配文件(而且是已存在的文件)

  • 基本正则表达式
  • 扩展正则表达式

1.1 元字符

在这里插入图片描述

1.2 表示次数

1.表示匹配任意次数(无限大)
2.
#任意长度的任意字符
3.? #匹配其前面的字符出现0次或1次,即:可有可无
4.+ #匹配其前面的字符出现最少1次,即:肯定有且 >=1 次
5.{n} #匹配前面的字符n次
6.{m,n} #匹配前面的字符至少m次,至多n次
7.{,n} #匹配前面的字符至多n次,<=n
8.{n,} #匹配前面的字符至少n次

1.3位置锚定

^ 行首锚定, 用于模式的最左侧
$ 行尾锚定,用于模式的最右侧
^PATTERN$ #用于模式匹配整行 (单独一行 只有root)
^$ 空行
1*$ #空白行{首(无限个空格)尾}
< 或 \b #词首锚定,用于单词模式的左侧(连续的数字,字母,下划线都算单词内部)
> 或 \b 词尾锚定,用于单词模式的右侧

1.4 扩展正则表达式

1.4.1表示次数

1.* 匹配前面字符任意次
2.? 0或1次
3.+ 1次或多次
4.{n} 匹配n次
5.{m,n} 至少m,至多n次
6.{,n} #匹配前面的字符至多n次,<=n,n可以为0
7.{n,} #匹配前面的字符至少n次,<=n,n可以为0

1.4.2 表示分组

() 分组
分组:用括号将其中的内容划分成一个整体,类似a*(b+c),不加括号a就和b相乘,加了括号作为一个整体就和b+c相乘
用法:
| 或者
a|b #a或b
C|cat #C或cat
(C|c)at #Cat或cat

1.5搭配命令

1.5.1 sort(排序)

用法:sort 选项 参数

在这里插入图片描述

1.5.2 uniq(去重)

用法:uniq -c 字符 文件
将重复的字符压缩并统计出现次数

1.5.3 tr (替换)

用法:tr 选项 字符1 字符2
在这里插入图片描述

1.5.3 echo(输出)

echo -n 内容 表示不换行输出
echo -e 选项 内容 表示加入转义符
在这里插入图片描述

1.5.4 date(日期)

date:显示当前日期
date -d 参数:根据参数,显示对应日期
在这里插入图片描述

2.grep

用法:grep 选项 过滤内容 参数
常用的选项
在这里插入图片描述
-r 可以递归查找(不能查找软链接)
-R 可以递归查找(能查找软链接)

3.awk

基本用法:awk 选项 语法 文件(默认分隔符是空格)
常用选项
-F 设定分隔符(啥都能做分隔符)
-V 设定变量

3.1 awk 常见的内置变量

在这里插入图片描述

4. sed(流编辑器)

sed 选项 语法 文件

4.1选项:

在这里插入图片描述
-n 和 语法里面的p搭配使用

4.2语法:

在这里插入图片描述

4.3 查找替换

s/pattern/string/修饰符 查找替换,支持使用其它分隔符,可以是其它形式:s@@@,s###
替换修饰符:
g 行内全局替换
p 显示替换成功的行
w /PATH/FILE 将替换成功的行保存至文件中
I,i 忽略大小写

总结:

awk sed grep的使用都是建立在熟练使用正则表达式上,正则用的好可以提取自己想要的任何东西。


  1. [:space:] ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值