특수 문자가있는 큰 파일이 있습니다. 로 바꾸고 싶은 멀티 라인 코드가 sed
있습니다.
이:
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"
이것으로 전환해야합니다 :
text = ""
다음 코드를 시도했지만 운이 없습니다.
sed -i '/ text = "*/ {N; s/ text = .*affected.\./ text = ""/g}' /etc/exim.conf
아무것도 대체하지 않으며 오류 메시지를 표시하지 않습니다
나는 그것을 가지고 놀고 있지만 시도하는 모든 것이 작동하지 않습니다.
가급적
—
blade19899
sed
이거나 CentOS 서버에 설치하지 않아도되는 것이 좋습니다. 즉시 사용 가능한 도구
@terdon
—
blade19899
text =
폴더에 다른 폴더 가 없습니다 . out은이어야합니다 text = ""
. 파일에는 891 줄의 코드가 있습니다. 따라서 다른 텍스트를 존중해야합니다.
파일을 덮어 쓰거나 출력을 수정 하시겠습니까?
—
joH1 2019
@Moonstroke 덮어 쓰지 않습니다. 내 질문에서 볼 수 있듯이 텍스트를 바꿔야합니다
—
blade19899
text = ""
. 내 질문에서 볼 수 있듯이.
sed
다른 도구가 필요합니까 아니면 다른 도구를 사용할 수 있습니까? 블록"
안에 있을 수text=
있습니까?text =
파일에 다른 경우가있을 수 있습니까? 항상 4 줄의 텍스트가 있거나 더 많거나 적을 수 있습니까?