Tôi có một tập tin lớn có các ký tự đặc biệt trong đó. Có một mã nhiều dòng ở đó, mà tôi muốn thay thế bằng sed
.
Điều này:
text = "\
------ ------\n\n\
This message was automatically generated by email software\n\
The delivery of your message has not been affected.\n\n\
------ ------\n\n"
Cần biến thành thế này:
text = ""
Tôi đã thử mã sau đây, nhưng không có may mắn:
sed -i '/ text = "*/ {N; s/ text = .*affected.\./ text = ""/g}' /etc/exim.conf
Nó không thay thế bất cứ điều gì và không hiển thị bất kỳ thông báo lỗi
Tôi đã chơi với nó, nhưng mọi thứ tôi thử đều không hoạt động.
sed
, hoặc bất cứ thứ gì không yêu cầu cài đặt trong máy chủ CentOS. Công cụ ra khỏi hộp
text =
trong thư mục, cần phải có text = ""
. Các tập tin có 891 dòng mã. Vì vậy, nó cần te tôn trọng các văn bản khác.
text = ""
. Như đã thấy trong câu hỏi của tôi.
sed
hoặc bạn đang mở cho các công cụ khác? Có thể có"
bên trongtext=
khối? Có thể có trường hợp kháctext =
trong tập tin của bạn? Sẽ luôn có 4 dòng văn bản hoặc có thể có nhiều hơn / ít hơn?