1. grep
文本过滤(模式:pattern)工具,grep, egrep, fgrep(不支持正则表达式搜索)
grep [OPTIONS] PATTERN [FILE...]
--color=auto
对匹配到的文本着色显示-v
显示不被pattern匹配到的行-i
忽略字符大小写-n
显示匹配的行号-c
统计匹配的行数-o
仅显示匹配到的字符串-q
静默模式,不输出任何信息-A #
after, 后#行-B #
before, 前#行-C #
context, 前后各#行-e
实现多个选项间的逻辑or关系
grep –e ‘cat ’ -e ‘dog’ file
-w
匹配整个单词-E
使用ERE,相当于egrep-F
相当于fgrep,不支持正则表达式
2. sed
sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’ 的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
sed [option]... 'script' inputfile
- 选项
-n
不输出模式空间内容到屏幕,即不自动打印-e
多点编辑-f
/PATH/SCRIPT_FILE: 从指定文件中读取编辑脚本-r
支持使用扩展正则表达式-i.bak
备份文件并原处编辑
- script 地址定界
- 不给地址:对全文进行处理
- 单地址:
#
: 指定的行,$:最后一行
/pattern/
:被此处模式所能够匹配到的每一行 - 地址范围:
#,#
#,+#
/pat1/,/pat2/
`#,/pat1/ - ~:步进
1~2 奇数行
2~2 偶数行
- 编辑命令:
d
删除模式空间匹配的行,并立即启用下一轮循环p
打印当前模式空间内容,追加到默认输出之后a [\]te