Tente estes:
$ # tested on GNU-sed, not sure of syntax for other versions
$ sed '/{{Info DOC/,/}}/ { s/{{\(Info DOC\)/=== ===/; /}}/d }' ip.txt
=== Info DOC ===
|author= ME
|company= MY COMPANY
|classification= RESTRICTED
-
/{{Info DOC/,/}}/da linha que contém{{Info DOCpara a linha que contém}}(consulte Endereços de intervalo para detalhes)-
s/{{\(Info DOC\)/=== ===/transformar conforme necessário -
/}}/dexclua este - o resto das linhas não será alterado
-
Com perl
$ perl -0777 -pe 's/\{\{(Info DOC)(.*?)\}\}\n/=== $1 ===$2/sg' ip.txt
=== Info DOC ===
|author= ME
|company= MY COMPANY
|classification= RESTRICTED
-
-0777slurp arquivo inteiro, então esta solução não é adequada para um arquivo de entrada muito grande -
.*?correspondência não-voraz -
smodificador para permitir que.corresponda também ao caractere de nova linha