• 语法

linux命令:sed工具替换文件内容_sed

linux命令:sed工具替换文件内容_插入数据_02

linux命令:sed工具替换文件内容_插入数据_03

linux命令:sed工具替换文件内容_字符串_04

linux命令:sed工具替换文件内容_字符串_05

linux命令:sed工具替换文件内容_sed_06

linux命令:sed工具替换文件内容_插入数据_07

linux命令:sed工具替换文件内容_字符串_08

linux命令:sed工具替换文件内容_字符串_09

linux命令:sed工具替换文件内容_字符串_10

linux命令:sed工具替换文件内容_sed_11

  • 将​​echo​​​替换为​​printf​​:

linux命令:sed工具替换文件内容_sed_12


  • ​uu​​会撤销修改。
  • 使用​​sed​​来修改。sed是对行数据进行筛选。
  • [ ]

linux命令:sed工具替换文件内容_字符串_13

sed '/echo/s/echo/printf/g' case.sh

  • /echo表示要查找的字符串
  • /s表示替换
  • /echo/printf表示将echo替换成printf
  • /g表示将所有的echo都替换
  • 第二种写法,比较接近于vi里的写法。实际上sed和vi同宗同源。

linux命令:sed工具替换文件内容_字符串_14

  • 往case.sh文件的第四行插入数据xxx.但是没有加​​-i​​参数,不会直接修改源文件
sed '4a xxx' case.sh

linux命令:sed工具替换文件内容_字符串_15

  • 加上​​-i​​参数

linux命令:sed工具替换文件内容_字符串_16

  • 删除第四行

linux命令:sed工具替换文件内容_sed_17

  • 删除第二到第七行

linux命令:sed工具替换文件内容_插入数据_18

  • 但是上述操作并没有真正修改文件,因为没有加​​-i​​参数

linux命令:sed工具替换文件内容_插入数据_19

  • 往第四行前面插入数据

linux命令:sed工具替换文件内容_插入数据_20

  • ​s​​替换

linux命令:sed工具替换文件内容_sed_21

zxl@master:/media/zxl/软件/develop/workspace/shell/sed$ sed -i 's/${IMGNAME}/dmgeo-system-web/g' dmgeo-system.yaml 
zxl@master:/media/zxl/软件/develop/workspace/shell/sed$
zxl@master:/media/zxl/软件/develop/workspace/shell/sed$ cat dmgeo-system.yaml



image: dmgeo-system-web:${TAG}
pod:
container:
image: dmgeo-system-web:${TAG}
zxl@master:/media/zxl/软件/develop/workspace/shell/sed$ sed -i 's/${TAG}/4.3.0/g' dmgeo-system.yaml
zxl@master:/media/zxl/软件/develop/workspace/shell/sed$ cat dmgeo-system.yaml


image: dmgeo-system-web:4.3.0
pod:
container:
image: dmgeo-system-web:4.3.0
zxl@master:/media/zxl/软件/develop/workspace/shell/sed$


#也可以一次性执行多条,就像上面的,将两条合并成一条执行
zxl@master:/media/zxl/软件/develop/workspace/shell/sed$ cat dmgeo-system.yaml



image: $IMGNAME:$TAG
pod:
container:
image: $IMGNAME:$TAG
zxl@master:/media/zxl/软件/develop/workspace/shell/sed$ sed -i 's/$IMGNAME/dmgeo-system-web/g;s/$TAG/4.3.0/g' dmgeo-system.yaml
zxl@master:/media/zxl/软件/develop/workspace/shell/sed$ cat dmgeo-system.yaml



image: dmgeo-system-web:4.3.0
pod:
container:
image: dmgeo-system-web:4.3.0
zxl@master:/media/zxl/软件/develop/workspace/shell/sed$
  • 只打印匹配到的行,加​​-n​​参数

linux命令:sed工具替换文件内容_插入数据_22

  • 给目标字符串BUF左边加上11,右边加上00

linux命令:sed工具替换文件内容_sed_23

linux命令:sed工具替换文件内容_字符串_24

  • 给连续的两个数字使用指定字符包裹起来

linux命令:sed工具替换文件内容_sed_25

  • 使用​​-r​​参数解决小括号也需要转义的问题

linux命令:sed工具替换文件内容_插入数据_26

  • 一次执行多条替换

linux命令:sed工具替换文件内容_sed_27

  • ​-e​​也可以达到同样目的

linux命令:sed工具替换文件内容_字符串_28

  • 去掉html中的所有标签,只保留内容

linux命令:sed工具替换文件内容_sed_29