linux系统中,文件中每行内容类似为TEST':'hac_tc_base','abc',adfg,'adfadfdgf', udr="+TC_NAME=fruit DDR hac_tcIDr= ../../afd",如何将字符串"hac_tc_base"替换成"fruit"
时间: 2023-11-27 14:54:19 浏览: 38
可以使用sed命令来实现这个功能。具体的命令如下:
```
sed -i "s/hac_tc_base/fruit/g" 文件名
```
其中,-i选项表示直接修改文件,而不是在屏幕上输出结果;s表示替换操作;hac_tc_base表示要被替换的字符串;fruit表示要替换成的字符串;g表示全局替换,即一行中出现多个要被替换的字符串都会被替换。将文件名替换成实际的文件名即可执行该命令。
相关问题
linux系统中,文件中每行内容类似为TEST':'hac_tc_base','abc',adfg,'adfadfdgf', udr="+TC_NAME=fruit DDR hac_tcIDr= ../../afd",如何将字符串"hac_tc_base"替换成TC_NAME=后的字符串
可以使用`sed`命令来实现这个功能。具体的命令如下:
```shell
sed -i "s/.*TC_NAME=\([^ ]*\).*/\1/" <文件名>
```
其中,`<文件名>`是你要操作的文件名,`sed`命令将会替换这个文件中符合条件的字符串。
这个命令会将文件中每行第一个"TC_NAME="后面的字符串提取出来,并将这个字符串作为替换后的内容。如果要将"hac_tc_base"替换成这个字符串,可以使用以下命令:
```shell
sed -i "s/hac_tc_base/$(sed -n 's/.*TC_NAME=\([^ ]*\).*/\1/p' <文件名>)/" <文件名>
```
其中,`$(sed -n 's/.*TC_NAME=\([^ ]*\).*/\1/p' <文件名>)`是一个子命令,用于提取文件中第一个"TC_NAME="后面的字符串。这个子命令的输出会被作为替换后的内容。
阅读全文