Como substituir uma linha que começa com uma palavra (e usar essa linha antiga na nova linha)

0

Eu tenho um arquivo com muitas linhas e gostaria de substituir linhas específicas que começam com uma nova linha, mas incluem a linha antiga. Veja abaixo.

por exemplo, se uma linha começa com (xyz é diferente para cada linha)

"#EXT-1,xyz"

Eu gostaria de ter uma linha como esta

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

Isso é possível com sed e, em caso afirmativo, como?

    
por LewHam 03.09.2016 / 18:53

1 resposta

3

Existem várias maneiras de formulá-lo - uma seria

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

Se você quiser modificar o arquivo, adicione a opção -i ou --in-place

sed -i '/^\"#EXT-1,.*\"/ s//!group=12, &, name=&/' file
    
por steeldriver 03.09.2016 / 19:01

Tags