
dos2unix
, perl
, tr
및 sed
이 존재하지 않는 매우 오래된 Unix 서버에서 작업하고 있다고 가정합니다 . 파일을 어떻게 변환할 수 있나요?해야 할 일에게유닉스체재?
답변1
줄 끝에서 캐럿-M을 제거하는 것을 말씀하시는 것 같습니다. 이를 수행하려면 vi에서 검색 및 바꾸기를 사용할 수 있습니다.
vi에서는 일반적으로 다음을 수행합니다. (여기서 "^"는 CTRL을 나타냅니다):
:%s/^V^M//g
화면에 다음과 같이 표시됩니다.
:%s/^M//g
답변2
tr
없거나 없는 서버는 sed
정말 오래되었거나 일부 기본 명령이 누락되어 있어야 합니다. 다행히 ed
거기에 있습니다. 그것은 존재했다유닉스 초판.
ed /path/to/file
1,$s/^V^M$//
w
q
여기서는 + ^V^M
를 입력 한 다음 + (리터럴 줄 바꿈을 입력하기 위해)를 입력하는 것을 의미합니다. 모든 줄이 CR LF로 끝나는 것을 알고 있으면 대신 사용할 수 있습니다(각 줄의 마지막 문자를 무차별적으로 제거).CtrlVCtrlM1,$s/.$//