Tôi có một tệp chứa nhiều dòng xml. Tôi muốn thay thế một số phần của tập tin. Một số phần của tệp chứa dấu ngoặc kép ( ") mà tôi muốn thay thế. Tôi đã cố gắng thoát khỏi dấu ngoặc kép \, nhưng tôi không nghĩ rằng nó hoạt động dựa trên kết quả của tệp của tôi.
Đây là một ví dụ về một trong những lệnh sed của tôi:
sed -e "s/\"text\"/'text'/ig" file.xml > temp.tmp
Đây có phải là cách bạn thoát dấu ngoặc kép trong một lệnh sed hay tôi đang làm gì đó sai?
\"cách chính xác để thoát dấu ngoặc kép trong lệnh sed?
". Nhưng lệnh shell của bạn sử dụng một chuỗi trích dẫn kép và \"đúng ở đó. Các sedchương trình coi s/"text"/'text'/ignhư là đối số để -e.
s/\"text\" /'text'/igNó sẽ chỉ tìm thấy "text" với khoảng trắng sau nó?
sedlà công cụ phù hợp cho công việc, có thể bạn muốn một trình phân tích cú pháp XML.
"text"bằng'text'. Tất nhiên nó sẽ không làm gì cả"othertext". Hiển thị một vài dòng đầu vào, đầu ra không mong muốn tương ứng và giải thích đầu ra bạn muốn thay thế.