正则表达式:注意三剑客才能读懂。
grep:
文本过滤工具(模式:pattern)
语法:grep [OPTIONS] PATTERN [file]
参数选项:
- --color=auto 对匹配到的文本进行着色显示
- -v 显示不被PATTERN匹配到的行
- -i 忽略字符大大小写
- -n 显示匹配的行号
- -c 统计匹配的行数
- -o 仅显示匹配到的字符串
- -q 静默模式,不输出任何信息
- -A #after,后#行
- -B #before,前#行
- -C context,前后各#行
- -e 实现多个选项间的逻辑or关系(gerp -e ‘cat’ -e ‘dog’ file)
- -w 匹配整个单词
- -E 使用ERE,相当于egrep
- -F 相当于fgrep,不支持正则表达式
sed:
流编辑器,一次处理一行内容,把当前处理的行放入模式空间,然后用sed命令进行处理,处理完成后把模式空间内容送往屏幕,然后执行下以循环。
语法: sed [option]… ‘script’ inputfile
1.参数选项:
- -n 不输出模式空间内容到屏幕
- -e 对点编辑
- -f 从指定文件中读取编辑脚本
- -r 支持使用扩展正则表达式
- -i 直接编辑文件(改变原文件内容)
- -i.bak 备份文件并原处编辑
2.script 地址范围 - 不给地址:对全文进行处理
- 单地址:# 指定的行 $ 最后一行
- 范围地址:#,#
- ~:步进(1~2 奇数行,2~2 偶数行)
3.编辑命令:
- d 删除模式空间匹配的行,并立即启用下一轮循环
- p 打印当前模式空间内容,追加到默认输出之后
- a []text1 在指定行后面追加文本,支持使用实现多行追加
- i []text 在行前面插入文本
- c []text 替换行为单行或多行文本
- w /path/somefile 保存模式匹配的行至指定文件
- r /path/somefile 读取指定文件的文本至模式空间中匹配到的行后
- = 为模式空间中的行打印行号
- ! 模式空间中匹配行取反处理
- s///:查找替换,支持使用其它分隔符,s@@@,s###g 行内全局替换p 显示替换成功的行*w /PATH/TO/SOMEFILE 将替换成功的行保存至文件中
awk:
将输出的文本格式化
语法: awk [options] ‘program’ file…
- program:pattern{action statements;…}
- pattern部分决定动作语句何时触发及触发事件
BEGIN,END - ction statements对数据进行处理,放在{}内指明
print, printf
2.选项参数:
- -F 指明输入时用到的字段分隔符
- -v var=value 自定义变量
(文章来源于霍格沃兹测试学院)