Eu não sou tão versado em sed
. Mas isso pode ser feito facilmente em perl
usando a expressão regex:
perl -pe 's/\(?!N\b)/#/g' your_file_here
Isso imprimirá o arquivo modificado para stdout. Para fazer as substituições no lugar, você pode fazer:
perl -pi -e 's/\(?!N\b)/#/g' your_file_here
Basicamente, isso substitui qualquer barra invertida não seguida por N\b
(o caractere N em um limite de palavra) com #
.
Editar
Se tiver certeza absoluta de que suas entradas são delimitadas por vírgula, você pode fazer isso para cobrir o caso em que \N
esteja no final de uma palavra (como em SOLEM\N
no exemplo fornecido):
perl -pe ' s/\/#/g; s/(\A|,)\s*#N\s*(\Z|,)/$1\N$2/g;' your_file_here
Ele simplesmente substitui qualquer barra invertida por um hash mark e procura por #N
encontrado entre duas vírgulas, entre o início da string e uma vírgula ou entre uma vírgula e o final da string.