1.系统通配符号:
*
— 匹配所有内容{}
—匹配序列信息
快速备份数据在当前目录
cp /oldboy/oldboy01/oldboy.txt{,.bak}
快速还原数据在当前目录
cp /oldboy/oldboy01/oldboy.txt{.bak,}
2.系统正则符号: grep sed awk
基础正则: basic regular expression BRE
扩展正则: extended regular expression ERE
- 基础正则:
^
— 以什么开头的信息
$
— 以什么结尾的信息- 说明: 如果结尾有空格信息, 过滤是会出现异常
利用底行模式 :set list 可以查看结尾空格信息
利用命令查看 :cat -A 文件路径
\
(不属于正则) — 转义符号
作用:将有特殊意义的符号, 还原本身符号意义;将没有意义的字符,变为有意义;取消别名功能
^$
— 空行信息
.
— 匹配任意一个且只有一个字符
grep “^.” —匹配任意一个以什么开头的字符
grep “.$” —匹配任意一个以什么结尾的字符
grep “.” — 匹配整个文件所有任意字符- 总结匹配筛选文件信息:
01. 会按照行进行匹配
02. 会匹配信息贪婪特性
03. 利用grep -o可以查看匹配信息的过程
*
— 匹配前一个字符连续出现0次或者多次
.*
— 匹配文件中所有信息
[]
— 匹配中括号中任意一个字符
过滤出所有小写字母:
grep “[a-z]” — 过滤小写字母
grep “[A-Z]” — 过滤大写字母
grep “[a-zA-Z]” — 过滤所有字母
grep “[a-Z]” — 过滤所有字母
grep -i “[a-z]” — grep忽略大小写进行过滤
[^] — 将指定字符信息,进行取反过滤
####3.系统扩展正则 (高级符号) grep --> egrep/grep -E sed --> sed -r
+
— 匹配前一个字符连续出现1次或者多次
|
— 匹配多个字符串信息
企业应用: 配置文件有注释有空行, 如何进行排除
grep -vE "^$|^#" 文件名
()
— 将多个字符信息进行整合过滤;实现后项引用前项进行替换 难点*******
第二个作用: 配合sed命令使用时,可以实现后项引用前项
- 说明: 后项引用前项只能引用1-9个小括号
- 练习: 批量创建用户 (密码是随机密码)
{}
—匹配前一个字符连续出现指定的次数
{n,m} — 匹配前一个字符连续出现至少n次 最多m次
{n}— 匹配前一个字符连续出现正好n次
{n,} — 匹配前一个字符连续出现最少n次, 最多不限
{,m} — 匹配前一个字符连续出现最少0次, 最多是m次
?
— 匹配前一个字符连续出现0次或者1次- 总结:
通配符号: 匹配文件名称信息
正则符号: 匹配文件内容信息