正则表达式:注意三剑客才能读懂。
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
在指定行后面追加文本,支持使用\n实现多行追加 -
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 自定义变量