一.正则表达式
通常用于判断语句中,用来检查某一字符串是否满足某一格式
正则表达式是由普通字符与元字符组成
- 普通字符包括大小写字母、数字、标点符号及一些其他符号
- 元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符或表达式)在目标对象中的出现模式
基础正则表达式常见元字符:(支持的工具:grep、egrep、sed、awk)
\ :转义字符,用于取消特殊符号的含义
^ :匹配字符串开始的位置
$ :匹配字符串结束的位置
. :匹配除\n之外的任意的一个字符
* :匹配前面子表达式0次或者多次
[list] :匹配list列表中的一个字符
[^list] :匹配任意非list列表中的一个字符
\{n\} :匹配前面的子表达式n次
\{n,\} :匹配前面的子表达式不少于n次
\{n,m\} :匹配前面的子表达式n到m次
注:egrep、awk使用{n}、{n,}、{n,m}匹配时“{}”前不用加“\”
\w :匹配包括下划线的任何单词字符。\W :匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。
\d :匹配一个数字字符。\D :匹配一个非数字字符。等价于 [^0-9]。 grep -P
\s :空白符。\S :非空白符
扩展正则表达式元字符:(支持的工具:egrep、awk)grep -E sed -r
+ :匹配前面子表达式1次以上
? :匹配前面子表达式0次或者1次
() :将括号中的字符串作为一个整体
| :以或的方式匹配字符串
二.常用命令
1.sort命令
1.1以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出
1.2格式:
- sort [选项] 参数
- cat file | sort 选项
常用选项
-n | 按照数组进行排序 |
-r | 反向排序 |
-u | 排序后去重 |
-t | 字段分隔符 |
-k 字段序号 | 根据-t指定的分隔符的第 k个字段进行排序 |
2.uniq命令
2.1用于报告或者忽略文件中连续的重复行,常与 sort 命令结合使用
2.2语法格式:
- uniq [选项] 参数
- cat file | uniq 选项
常用选项
-c | 进行计数,并删除文件中重复出现的行 |
-d | 仅显示连续的重复行 |
-u | 仅显示出现一次的行 |
3.tr命令
3.1常用来对来自标准输入的字符进行替换、压缩和删除
3.2语法格式:
- tr [选项] [参数]
常用选项
-c | 保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换 |
-d | 删除所有属于字符集1的字符 |
-s | 将重复出现的字符串压缩为一个字符;用字符集2 替换 字符集1 |
-t | 字符集2 替换 字符集1,不加选项同结果 |
4.cut命令
4.1显示行中的指定部分,删除文件中指定字段
4.2语法格式:
- cut 参数
- cat file | cut 选项
常用选项
-f | 通过指定哪一个字段进行提取。cut命令使用“TAB”作为默认的字段分隔符 |
-d | “TAB”是默认的分隔符,使用此选项可以更改为其他的分隔符 |
--complement | 此选项用于排除所指定的字段 |
--output-delimiter | 更改输出内容的分隔符 |
5.split命令
5.1linux下将一个大的文件拆分成若干小文件
5.2语法格式:
- split 选项 参数 原始文件 拆分后文件名前缀
常用选项
–l | 以行数拆分 |
–b | 以大小拆分 |
6. paste命令
6.1用于合并文件的列
6.2语法格式:
- paste [-s][-d <间隔字符>] 文件...
常用选项
-d<间隔字符> | 用指定的间隔字符取代制表符 |
-s | 把多行内容合并为一行进行显示 |