Eu uso uma string de atribuição de cotação de e-mail assim:
On dd mmm yyyy hh:mm +hhmm, from [email protected] (Example Dot Org):
onde [email protected]
é o endereço de e-mail do remetente e Example Dot Org
é o nome real do remetente.
Quando nenhum nome real é fornecido (ou até mesmo quando um é), os dois são idênticos e acabo com uma string de atribuição como esta:
On dd mmm yyyy hh:mm +hhmm, from [email protected] ([email protected]):
Se (e somente se) for esse o caso, eu quero remover a parte ([email protected])
, deixando-me apenas com:
On dd mmm yyyy hh:mm +hhmm, from [email protected]:
Eu já tenho um shell script que chama Perl para massagear o e-mail antes de alimentá-lo ao meu editor, e estou pensando que poderia simplesmente adicionar um código a ele para massagear a linha de atribuição também. A solução pode ser feita em Perl, awk, sed ou outra coisa (embora, de preferência, não seja algo também exótico).
Eu sei que a linha de atribuição é a primeira linha não em branco após a primeira linha em branco da entrada, e não me importo de codificar com firmeza o meu formato de linha de atribuição preferido. Simplesmente excluir a parte em paranthesises é trivial, mas como fazê-lo somente quando é igual ao que o precede? Preferencialmente sem arriscar alterar qualquer outra coisa no email (arquivo de texto).