通配符
- * 任意长度的任意字符
- ? 一个长度的任意字符
- ; 链接多条命令
- # 注释行
- | 传递命令的执行结果
- && 只有前面的命令执行成功,后边的命令才会执行
- || 前面的命令执行错误,才会执行后边的命令
- ~ 家目录
- - 上一次所在的目录
- $ 引用变量
- / 路径分隔符(或根目录
- > >> 重定向
- << 用来打印
- 引号 " " ' ' ` `
- { } touch {1..5}.txt
正则表达式
- grep 过滤
- awk 截取
- sed 替换
正则表达式分类
- 基础正则表达式
- 扩展正则表达式
grep 过滤文件中的内容
选项
- -v 取反
- -i 忽略大小写
- -o 仅显示匹配的内容
- -E 使用扩展(使特殊符号成立)
. 匹配单个字符
. 表示任意一个字符
[具体内容] 匹配范围中的一个
- [abc]
- [0123456789]
- [a-z]
- [A-Z]
- [0-9a-zA-Z]
字符集表示式
- [[:punct:]] 标点
- [[:space:]] 空格
- [[:digit:]] 数字
- [[:alpha:]] 任意字母
- [[:lower:]] 小写字母
- [[:upper:]] 大写字母
- [[:alnum:]] 任意字母和数字
^[ ] 过滤[ ]开头的内容
grep ^"[[:punct:][:digit:]]" 1.txt
匹配次数
- * 表示前面的字符出现了任意次数(也可以不出现)
- .* 表示任意长度的任意字符
- ? 表示前面的字符最多出现过1次(可以不出现)
- {起始值,结束值} grep -E "a{1,3}b" 1.txt b前的a至少出现1次,最多出现3次 ({,3}最多3,最少不限)
- + 等同于{1,} 最少出现一次
[ ]$ 过滤出结尾的内容
grep "a$" 1.txt
grep "^$" 1.txt 过滤出空行
( )\1 过滤与前面括号中字符相同的内容
grep -E "([[:digit:][:punct:]])\1" 1.txt 过滤出内容中 数字挨着符号 的行