Giả sử tôi có chuỗi 'abbc' và tôi muốn thay thế:
- ab -> bc
- bc -> ab
Nếu tôi thử hai thay thế thì kết quả không như tôi mong muốn:
echo 'abbc' | sed 's/ab/bc/g;s/bc/ab/g'
abab
Vậy tôi có thể sử dụng lệnh sed nào để thay thế như dưới đây?
echo abbc | sed SED_COMMAND
bcab
EDIT : Trên thực tế, văn bản có thể có nhiều hơn 2 mẫu và tôi không biết mình sẽ cần bao nhiêu thay thế. Vì có một câu trả lời nói rằng đó sed
là một trình chỉnh sửa luồng và thay thế nó là tham lam, tôi nghĩ rằng tôi sẽ cần phải sử dụng một số ngôn ngữ kịch bản cho điều đó.
ab
hoặc bc
trong đầu vào ban đầu.
g
cờ từ cả hais///
lệnh đó và nó sẽ hoạt động.