Padrão Sed para converter o estilo de imagem Markdown

0

Eu tenho um arquivo Markdown com listagens de imagens da seguinte forma.

![Some Text](static/images/image.png)

Usando sed , desejo convertê-lo para o formato a seguir, mas não consigo definir o padrão correto.

![](static/images/image.png){.my-class}

[ Atualizar ]
Um pouco mais de contexto. Meus arquivos do Markdown são semelhantes,

Hello
![Some Text](static/images/image.png)
World

Eu preciso convertê-los em lote para

Hello
![](static/images/image.png){.my-class}
World

De outras respostas no Stackoverflow, concluí que o padrão \[[^]]\] pode ser usado para corresponder aos colchetes. Usando isso, eu poderia fazer a transformação, ou seja,

sed 's,^\!\[[^]]\+\]\(.*\)$,[],g' file.md --> Works! Gives [](images/sl/2012-06-18.png)

Mas se eu acrescentar {.my-class} ao final, isso estraga tudo.

sed 's,^\!\[[^]]\+\]\(.*\)$,[]\{.my-class\},g' file.md --> doesn't work! Gives {.my-class}(static/images/image.png)

Então, basicamente, como posso usar { no padrão de substituição?

    
por Mohnish 02.10.2018 / 08:13

1 resposta

2

Você pode tentar este comando sed :

sed 's/\[[^]]\+\]/[]/;s/$/{.myclass}/' <<< '![Some Text](static/images/image.png)'
    
por 02.10.2018 / 08:21