Tôi muốn sử dụng sed
hoặc perl
thay thế tất cả các lần xuất hiện của một từ không có từ nào đó trước từ đó.
Ví dụ: tôi có một tệp văn bản chứa cốt truyện của một bộ phim và tôi muốn thay thế tất cả các lần xuất hiện của tên nhân vật bằng tên của họ, nhưng chỉ khi tên của họ không xuất hiện ngay trước tên của họ.
Văn bản mẫu có thể trông như thế này:
John Smith and Jane Johnson talk about Smith's car.
Tôi muốn nó trông như thế này:
John Smith and Jane Johnson talk about John's car.
Nếu tôi chỉ làm sed 's/Smith/John/' file
, thì tôi sẽ có:
John John and Jane Johnson talk about John's car.
Tên đầu tiên xuất hiện trước tên cuối cùng sẽ luôn giống nhau. Tôi không phải đối phó với John Smith
và Frank Smith
. Tôi chỉ cần một cách để khớp với Smith
cái không có John
trước nó.