接上文:grep命令快速入门
linux 文本操作的三大神器:grep、sed、awk,各自的最佳应用场景:
- grep:使用正则表达式搜索文本,并把匹配的行打印出来,是强大的文本搜索工具;
- sed:用于编辑匹配到的文本,是一种流编辑器;
- awk:能够对文本进行复杂的格式处理,是一种处理文本的语言。
sed 是一种流编辑器,它一次处理一行的内容。处理时,把当前处理行的内容存储在缓冲区中,称为“模式空间(pattern space)”,接着通过sed命令处理模式空间中的内容,处理完成后,把模式空间中的内容输出到屏幕。
1、命令功能
sed 主要用于自动编辑一个或多个文件,简化对文件的反复操作。
2、命令格式
sed [options] '[地址定界] command' file
3、命令参数 options
- -n:只打印匹配到的行
- -e:多次匹配,相当于对每行处理时,顺序执行多个sed命令
- -i:直接将处理结果写入文件
4、地址定界
- 不给地址:默认对全文进行处理
- 单地址:/pattern/,被pattern匹配到的每一行
- 地址范围:#, #
5、编辑命令 command
- d:删除模式空间匹配到的行
- p:打印模式空间中的内容
- s/old/new/g:将old替换为new,g表示行内全局替换
6、sed 应用示例
比如有一个hello.txt,内容如下:
打印匹配到的行:
将hello替换为HELLO: