grep
grep命令主要对文本的(正则表达式)行基于模式进行过滤
作用: 文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查,打印匹配到的行
模式: 由正则表达式字符及文本字符所编写的过滤条件
格式:
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,不支持正则表达式
-P: 支持Perl格式的正则表达式
-f file: 根据模式文件处理
-r: 递归目录,但不处理软连接
-R: 递归目录,处理软连接
sed
stream editor,文本编辑工具
sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
功能:主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等用法:
sed [option]... 'script;script;...' [inputfile...]
常用选项:
-n:不输出模式空间内容到屏幕,即不自动打印
-e: 多点编辑
-f:/PATH/SCRIPT_FILE : 从指定文件中读取编辑脚本
-r,-E: 支持使用扩展正则表达式
-i.bak: 备份文件并原处编辑
#说明
-ir 不支持
-i -r 支持
-ri 支持
-ni 危险选项,会清空文件
script格式:
'地址命令'
地址格式:
1、不给地址:对全文进行处理
2、单地址:
#: 指定的行,$:最后一行
/pattern/: 被此处模式所能够匹配到的每一行
3、地址范围:
#,#
#,+#
/pat1/,/pat2/
#,/pat/
/pat/,#
4、步进:~
1~2 奇数行
2~2 偶数行
命令:
d: 删除模式空间匹配的行,并立即启用下一轮循环
p:打印当前模式空间内容,追加到默认输出之后
Ip: 忽略大小写输出
a [\]text:在指定行后面追加文本,支持使用\n实现多行追加
i [\]text:在行前面插入文本
c [\]text:替换行为单行或多行文本
w /path/somefile: 保存模式匹配的行至指定文件
r /path/somefile:读取指定文件的文本至模式空间中匹配到的行后
=: 为模式空间中的行打印行号
!: 模式空间中匹配行取反处理
q 结束或退出sed
查找替代
s/pattern/string/修饰符 查找替换,支持使用其他分隔符,可以使其他形式: s@@@,s###
替换修饰符:
g: 行内全局替换
p: 显示替换成功的行
w /PATH/TO/SOMEFILE :将替换成功的行保存至文件中
I,i 忽略大小写
awk
linux上的实现gawk,文本报告生成器
作者:于浩 创建时间:2024-01-15 17:13
最后编辑:于浩 更新时间:2025-06-17 17:31
最后编辑:于浩 更新时间:2025-06-17 17:31