.strsub

.strsub <source> <replacement> file [file ...]

Utilize o comando .strsub para realizar a substituição da sequência básica em um ou mais arquivos de texto. O sistema varre os arquivos de destino para a sequência <source> ; onde for localizada uma correspondência, o sistema substituirá a sequência <source> por <replacement>. O comando .strsub substitui cada instância da sequência (source) em toda e qualquer linha em cada arquivo.

O comando .strsub trabalha com os sistemas operacionais sem depender de quaisquer comandos específicos que estejam disponíveis no servidor.

Para substituir uma sequência _VERSION_ em um arquivo about.c, utilize um comando, como:
.strsub _VERSION_ 2.34 about.c
É necessário especificar um ou mais nomes de arquivos de forma exata, sem utilizar curingas. Por exemplo, um comando como o seguinte falha:
.strsub _VERSION_ 2.34 *.txt
Entretanto, é possível usar variáveis no comando, de modo que um comando como o seguinte funcionará se as variáveis VERSION e FILENAME tiverem sido definidas no ambiente.
.strsub _VERSION_ ${VERSION} ${FILENAME}
Nota: Utilize espaços para separar os parâmetros no comando.
O comando .strsub é semelhante ao comando .edit; suas diferenças incluem:

O comando .edit utiliza a sintaxe de Expressão Regular Estendida POSIX por padrão. Se o agente foi compilado com suporte para Expressão Regular Compatível com Perl, então a expressão de substituição poderá ser seguida por um caractere "p" (para indicar que a sintaxe PCRE deve ser utilizada, no lugar).

Nos dois casos, a expressão é interpretada duas vezes pelo processamento do agente. Portanto, quatro barras invertidas devem ser utilizadas em qualquer lugar em que uma única barra invertida é normalmente utilizada. Por exemplo:
Quatro barras escapam um período literal:
\\\\.
Alternativamente, é possível usar o sinalizador /x para suprimir as barras invertidas:
.strsub/x

Feedback