Tôi đang sử dụng sed để tìm và thay thế các mẫu trong các tệp SAS mà tôi có thay vì thay đổi chúng riêng lẻ. Vấn đề là tôi đang cố gắng thay thế các biến vĩ mô và khi tôi sử dụng ký hiệu và nó không được xử lý chính xác.
Here's my code:
sed -ie 's/user=&uid./user=&sysuserid./g' *_table_*.sas
Bất cứ khi nào tôi chạy lệnh này, nó dường như nối thêm và làm tất cả các loại nội dung thú vị với văn bản gốc.
Câu hỏi: Làm cách nào để thay thế văn bản có chứa ký hiệu bằng lệnh sed?
&
là một ký tự đặc biệt vì vậy nó cần phải được thoát khi được sử dụng trong RHS - trong trường hợp của bạn, bạn phải chạy's/user=&uid./user=\&sysuserid./g'
mặc dù tôi nghi ngờ bạn cũng cần thoát dấu chấm trong LHS để khớp với một dấu chấm theo nghĩa đen để bạn thực sự cần's/user=&uid\./user=\&sysuserid./g'