linux命令:sed工具替换文件内容
原创
©著作权归作者所有:来自51CTO博客作者a772304419的原创作品,请联系作者获取转载授权,否则将追究法律责任
![linux命令:sed工具替换文件内容_sed](https://s2.51cto.com/images/blog/202112/31211932_61cf03649fa6f13347.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_插入数据_02](https://s2.51cto.com/images/blog/202112/31211933_61cf03650f4cc99110.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_插入数据_03](https://s2.51cto.com/images/blog/202201/19142505_61e7aec1b7b6f38389.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_字符串_04](https://s2.51cto.com/images/blog/202112/31211938_61cf036a7d4b989767.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_字符串_05](https://s2.51cto.com/images/blog/202112/31211938_61cf036ab997679249.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_sed_06](https://s2.51cto.com/images/blog/202112/31211939_61cf036b0bcbc22696.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_插入数据_07](https://s2.51cto.com/images/blog/202112/31211939_61cf036b4958a11941.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_字符串_08](https://s2.51cto.com/images/blog/202112/31211939_61cf036ba557870433.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_字符串_09](https://s2.51cto.com/images/blog/202112/31211940_61cf036c9afe028789.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_字符串_10](https://s2.51cto.com/images/blog/202112/31211941_61cf036d04ddc51320.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_sed_11](https://s2.51cto.com/images/blog/202112/31211941_61cf036d5a34d23209.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_sed_12](https://s2.51cto.com/images/blog/202112/31211941_61cf036dd335e60118.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
-
uu
会撤销修改。
- 使用
sed
来修改。sed是对行数据进行筛选。
- [ ]
![linux命令:sed工具替换文件内容_字符串_13](https://s2.51cto.com/images/blog/202112/31211942_61cf036e315bd27449.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
sed '/echo/s/echo/printf/g' case.sh
-
/echo表示要查找的字符串
-
/s表示替换
-
/echo/printf表示将echo替换成printf
-
/g表示将所有的echo都替换
-
第二种写法,比较接近于vi里的写法。实际上sed和vi同宗同源。
![linux命令:sed工具替换文件内容_字符串_14](https://s2.51cto.com/images/blog/202112/31211942_61cf036e65ba367135.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
-
往case.sh文件的第四行插入数据xxx.但是没有加
-i
参数,不会直接修改源文件
![linux命令:sed工具替换文件内容_字符串_15](https://s2.51cto.com/images/blog/202112/31211942_61cf036eba2ad92706.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_字符串_16](https://s2.51cto.com/images/blog/202112/31211943_61cf036f016ee502.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_sed_17](https://s2.51cto.com/images/blog/202112/31211943_61cf036f4b2573651.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_插入数据_18](https://s2.51cto.com/images/blog/202112/31211944_61cf0370d131126826.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
-
但是上述操作并没有真正修改文件,因为没有加
-i
参数
![linux命令:sed工具替换文件内容_插入数据_19](https://s2.51cto.com/images/blog/202112/31211945_61cf037112fca2732.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_插入数据_20](https://s2.51cto.com/images/blog/202112/31211945_61cf03714ced752350.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_sed_21](https://s2.51cto.com/images/blog/202112/31211945_61cf037189e7d65461.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
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$
![linux命令:sed工具替换文件内容_插入数据_22](https://s2.51cto.com/images/blog/202112/31211945_61cf0371c18c679658.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_sed_23](https://s2.51cto.com/images/blog/202112/31211945_61cf03720031328095.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_字符串_24](https://s2.51cto.com/images/blog/202112/31211946_61cf03723df2d95342.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_sed_25](https://s2.51cto.com/images/blog/202112/31211946_61cf03727210a26218.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_插入数据_26](https://s2.51cto.com/images/blog/202112/31211946_61cf0372b84ee91378.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_sed_27](https://s2.51cto.com/images/blog/202112/31211947_61cf03730d6f61266.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_字符串_28](https://s2.51cto.com/images/blog/202112/31211947_61cf03735bbdd23439.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)
![linux命令:sed工具替换文件内容_sed_29](https://s2.51cto.com/images/blog/202112/31211947_61cf037399dac94673.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=/resize,m_fixed,w_1184)