Gostaria de usar sedou perlsubstituir todas as ocorrências de uma palavra que não tenha uma determinada palavra na frente.
Por exemplo, eu tenho um arquivo de texto que contém a trama de um filme e desejo substituir todas as ocorrências do sobrenome de um personagem pelo primeiro nome, mas apenas se o primeiro nome não aparecer imediatamente antes do sobrenome.
O texto de exemplo pode ficar assim:
John Smith and Jane Johnson talk about Smith's car.
Eu quero que fique assim:
John Smith and Jane Johnson talk about John's car.
Se eu apenas fizer sed 's/Smith/John/' file, então eu teria:
John John and Jane Johnson talk about John's car.
O primeiro nome que vem antes do sobrenome sempre será o mesmo. Eu não tenho que lidar com John Smithe Frank Smith. Eu só preciso de uma maneira de combinar Smithque não tem Johnprecedente.