pt corresponde à segunda ocorrência do padrão

0
$Subj .= "HAD PROBLEMS";

if ($To) {
    $Cc = "abc\@xyz.com";
}
else {
    $Cc = "abc\@xyz.com";
}

Eu tenho o texto acima em um arquivo. Preciso substituir o ID de e-mail em $ Cc por um novo ID de e-mail.

Eu tenho o seguinte comando sed para fazer isso.

sed '\|HAD PROBLEMS|,/}/ s/$Cc = (\"[A-Za-z0-9])(.)([A-Za-z0-9]*)\@xyz.com\"/\$Cc = "new email\@xyz.com"/' test.txt

Este comando substituirá o ID de e-mail somente pela variável $ Cc no bloco {} (primeira ocorrência de $ Cc), pois meu padrão de correspondência final é um '}'. Eu quero substituir o ID do email no segundo $ Cc também. como faço para combinar na segunda ocorrência de '}'?

    
por DND 03.01.2017 / 08:07

1 resposta

0

se você quiser substituir o endereço Cc por um novo endereço de e-mail, tente o seguinte

$ sed 's/\$Cc.*/\$Cc="new_mail\@abc.com"/g' input.txt
$Subj .= "HAD PROBLEMS";

if ($To) {
    $Cc="[email protected]"
}
else {
    $Cc="[email protected]"
}
    
por 03.01.2017 / 09:38