EDITADO
O comando sed 's/^(''')/('''bash)/g'
não funciona porque os parênteses são literalmente interpretados.
Você provavelmente tem que escapar dos parênteses como em
$ sed 's/^\('''\)/'''bash/g'
Como alternativa, você pode ativar expressões regulares estendidas:
$ sed -E 's/^(''')/'''bash/g'
para que os parênteses não precisem ser escapados.
Ou apenas remova os parênteses:
$ echo ''''' | sed 's/^'''/'''bash/g'
'''bash
Para corresponder apenas à abertura '''
, você pode usar um regexp assim:
$ sed --null-data -E 's/[']{3,3}([^']*)([']{3,3}){0,1}/'''bash/g'
Advertência : falha se um '(backtick) for encontrado entre sequências de triplos backticks.
Ele usa --null-data
para deixar sed
tratar a entrada como uma única linha (na verdade, linhas separadas por caracteres nulos) e, em seguida, procura seqüências de '' '-text-' '' para substituí-las por '' 'bash-text -' ''.