일반 텍스트와 함께 다음 유니코드 문자열이 포함된 텍스트 파일이 있습니다.
디렉토리 a.txt
{"relationship":{"type:Memberkey","id""824-\u0001\u0019BFGHDICA2166-01-01","source"}
여기에 유니코드 문자열이 \u0001
있어 \u0019
프로그램이 실패하게 됩니다.
그러한 문자열을 대체하는 범용 명령이 있습니까?
답변1
불행하게도 "범용 명령"의 의미와 "대체"의 의미에 따라 다릅니다.
내 생각에 당신이 의미하는 바는 유니코드를 가장 유사한 UTF-8로 줄이고 싶다는 것입니다.상
당신은 찾을 수 있습니다이 가이드도움이 되는.
이 문자열을 자신만의 임의의 텍스트로 바꿀 수도 있습니다. 이 경우에는 다음을 살펴보세요.정규식. 당신은 찾을 수 있습니다이 가이드도움이 되는.
편집하다:원하는 것이 무엇인지 확실하지 않다면 먼저 파일 자체(복사본)를 시도해 보는 것이 좋습니다. 당신이 알아야 할 한 가지는 (아직 모르는 경우)인쇄 기능주문하다. 당신은 찾을 수 있습니다이 가이드도움이 되는.
답변2
이러한 제어 문자를 제거하려면 sed를 사용할 수 있습니다.
sed -i 's/\\u001[[:xdigit:]]//;s/\\u000[0-9bBcCeEFF]//' your_file
\u000a
CR 및 LF 문자가 및 로 인코딩되더라도 이를 보존하고 싶다고 가정합니다 \u000d
.