如何替换以单词开头的行(并在新行中使用旧行)

如何替换以单词开头的行(并在新行中使用旧行)

我有一个包含多行的文件,我想替换以新行开头但包含旧行的特定行。见下文。

例如,如果一行以(每行的 xyz 不同)开头

"#EXT-1,xyz"

我想要一条这样的线路

!group=12, "#EXT-1,xyz", name="#EXT-1,xyz"

这可能吗sed?如果可以,怎么做?

答案1

有多种表述方式 - 其中之一是

sed '/^\"#EXT-1,.*\"/ s//!group=12, &, name=&/' file

如果要修改文件,请添加-i--in-place开关

sed -i '/^\"#EXT-1,.*\"/ s//!group=12, &, name=&/' file

相关内容