Giả sử tôi có một tệp chứa nhiều lần xuất hiện của cả StringA và StringB. Tôi muốn thay thế tất cả các lần xuất hiện của StringA bằng StringB và (đồng thời) tất cả các lần xuất hiện của StringB bằng StringA.
Ngay bây giờ, tôi đang làm một cái gì đó như
cat file.txt | sed 's/StringB/StringC/g' | sed 's/StringA/StringB/g' | sed 's/StringC/StringA/g'
Vấn đề với cách tiếp cận này là nó giả sử StringC không xảy ra trong tệp. Mặc dù đây không phải là một vấn đề trong thực tế, nhưng giải pháp này vẫn cảm thấy bẩn - nghĩa là, nó cảm thấy giống như một cơ hội để tìm hiểu thêm phép thuật unix. :)
sed: can't read s/StringB/StringA/g: No such file or directory
. Có vẻ như-e t PATTERN
không hiểu rõ lắm.