目录
在Linux的世界中,有着一个文本三剑客的称呼,它们分别代表grep(文本过滤),sed(流编辑器),awk(gawk)(报告生成器)。
1.sed编辑器
1.1 sed概述
sed是Linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑。
-
sed编辑器时一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。
-
sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要存储在一个命令文本文件中
1.2 sed工作流程
前提:首先对于一个文本文件来说,它是由至上而下的一行或N行组成。
1、当用sed命令对文本进行处理的时候,sed先读取对象的文本文件的第一行到模式空间中。
2、当有内容进入“模式空间”时,sed的编辑命令对模式空间中的内容进行编辑操作(修改,替换,删除,追加,显示等等)
3、模式空间中的内容编辑处理完成之后,sed把此内容通过标准输出(默认为显示器)打印出来,并删除模式空间中的内容。
4、第一行处理结束。从新读取第二行的内容进行处理,直到最后一行。
1.3 sed基本用法
sed -e '操作' 文件1 文件2
sed -n -e '操作' 文件1 文件2
sed -f 脚本文件 文件1 文件2
sed -i -e '操作' 文件1 文件2
1.4 sed常用选项
选项 | 说明 |
-e 或 - -expression= | 多点编辑 |
-f 或- -file= | 表示用指定的脚本文件来处理输入的文本文件 |