Ich möchte alle Vorkommen eines Wortes verwenden sed
oder perl
ersetzen, das kein bestimmtes Wort vor sich hat.
Zum Beispiel habe ich eine Textdatei, die eine Handlung eines Films enthält, und ich möchte alle Vorkommen des Nachnamens eines Charakters durch seinen Vornamen ersetzen, aber nur, wenn sein Vorname nicht unmittelbar vor seinem Nachnamen steht.
Der Beispieltext könnte folgendermaßen aussehen:
John Smith and Jane Johnson talk about Smith's car.
Ich möchte, dass es so aussieht:
John Smith and Jane Johnson talk about John's car.
Wenn ich es nur tue sed 's/Smith/John/' file
, hätte ich:
John John and Jane Johnson talk about John's car.
Der Vorname, der vor dem Nachnamen steht, ist immer der gleiche. Ich muss mich nicht mit John Smith
und befassen Frank Smith
. Ich brauche nur einen passenden Weg, Smith
dem es nicht John
vorausgeht.