linux系统中,文件中每行内容类似为TEST':'hac_tc_base','abc',adfg,'adfadfdgf', udr="+TC_NAME=fruit DDR hac_tcIDr= ../../afd",如何将字符串"hac_tc_base"替换成TC_NAME=后的字符串
时间: 2023-11-27 10:54:57 浏览: 68
可以使用`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="后面的字符串。这个子命令的输出会被作为替换后的内容。
阅读全文