linux-shell(16)-sed命令

sed是一种几乎在所有UNIX平台,的轻量级流编辑器。sed主要是用来将数据进行选取,替换,删除,新增的命令。

sed [选项] '[动作]' 文件

选项:-n: 一般sed命令会把所有数据都输出到屏幕,如果加入此选项,则只会把经过sed命令处理过的行输出到屏幕。

           -e: 允许对输入数据应用多条sed命令编辑

           -i:  用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出

动作:一定要使用单引号括起来

          a \: 追加,在当前行后添加一行或多行。添加多行时,除最后一行外,每行末尾需要用"\"代表数据未完结

          c \: 行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾需要用"\"代表数据未完结

          i  \: 插入,在当前行前添加一行或多行。插入多行时,除最后一行外,每行末尾需要用"\"代表数据未完结

          d:  删除,删除指定的行

          p: 打印,输出指定的行

          s: 字串替换,用一个字符串替换另外一个字符串。格式为“行范围s/旧字串/新字串/g”

测试文件:test2.txt

linux-shell(16)-sed命令

行数据操作:(可以使用管道符)

linux-shell(16)-sed命令

删除第1-3行的数据

linux-shell(16)-sed命令

追加符号的使用:

linux-shell(16)-sed命令

数据替换使用c

linux-shell(16)-sed命令

字符串替换

linux-shell(16)-sed命令

同时替换使用e

linux-shell(16)-sed命令