Hoàn toàn học tập, nhưng nó làm tôi bực mình.Xóa các từ trùng lặp trong một dòng với sed
Tôi muốn sửa văn bản này:
there there are are multiple lexical errors in this line line
sử dụng sed. Tôi đã có điều này đến nay:
sed 's/\([a-z][a-z]*[ ,\n][ ,\n]*\)\1/\1/g' < file.text
Nó sửa mọi thứ ngoại trừ các từ được tăng gấp đôi cuối cùng!
there are multiple lexical errors in this line line
Guru có thể giải thích lý do tại sao không giải quyết các từ ở cuối?
N.B. RE - '[, \ n]' sed sử dụng '\ n' làm dấu tách dòng. Vì vậy, trừ khi bạn chèn '\ n' vào không gian mẫu, bạn sẽ không bao giờ gặp phải chúng sau khi đọc một dòng vào không gian mẫu. – potong