Chciałbym użyć sed
lub perl
zastąpić wszystkie wystąpienia słowa, które nie ma określonego słowa przed nim.
Na przykład mam plik tekstowy, który zawiera fabułę filmu i chcę zastąpić wszystkie wystąpienia nazwiska postaci ich imieniem, ale tylko wtedy, gdy ich imię nie pojawi się bezpośrednio przed imieniem.
Przykładowy tekst może wyglądać następująco:
John Smith and Jane Johnson talk about Smith's car.
Chcę, aby wyglądało to tak:
John Smith and Jane Johnson talk about John's car.
Gdybym tak zrobił sed 's/Smith/John/' file
, miałbym:
John John and Jane Johnson talk about John's car.
Imię poprzedzające nazwisko zawsze będzie takie samo. Nie mam do czynienia z John Smith
i Frank Smith
. Potrzebuję tylko sposobu dopasowania Smith
, który nie ma John
go wcześniej.