O que há de errado em simplesmente substituir o C
?
sed 's/C/ABC/'
Isso só substituirá a primeira instância (se você quiser substituí-los todos, você adicionará g
no final).
Atualmente, tenho este comando:
sed 's/\([^C]*\)/AB/'
Insere "AB" antes da primeira instância de "C" em uma linha. Mas também está adicionando "AB" ao final de cada linha sem um "C".
Como posso editá-lo apenas quando encontra "C"?
O que há de errado em simplesmente substituir o C
?
sed 's/C/ABC/'
Isso só substituirá a primeira instância (se você quiser substituí-los todos, você adicionará g
no final).
Você precisa de um filtro de endereço:
sed '/C/s/\([^C]*\)/AB/'
Tags sed