일부 텍스트 파일을 압축하여 이메일에 첨부 파일로 보냈습니다. 텍스트 파일을 추출한 후 형식이 변경되었습니다.
앞으로:
line1
line2
line3
뒤쪽에:
line1line2line3
압축을 푼 후에도 원본 형식을 유지하는 방법이 있나요?
사용된 명령:
zip file.zip *.txt
답변1
Panki가 언급했듯이 Windows 시스템에서 Linux 텍스트 파일을 열려고 합니다.
짧은 답변: 원하는 것은 Windows에서 사용하는 CRLF 줄 종결자를 사용하여 텍스트 파일을 저장하는 것입니다(긴 답변 읽기). 이렇게 하려면 Gnome의 공식 텍스트 편집기인 gedit를 사용하여 파일을 엽니다.
- 오른쪽 상단 모서리에 있는 가로선 3개를 누르세요.
- 다른 이름으로 저장...
- 맨 아래에 "메뉴"라는 항목이 표시됩니다.줄 끝
- 선택하다윈도우저장을 클릭하세요.
이제 괜찮을 것 같아요.
긴 답변:
각 운영 체제는 (대부분) 개행 문자에 서로 다른 이스케이프 시퀀스를 사용합니다.
참고로:
- Windows에서는 CRLF(\r\n) -hex value=0d 0a를 사용합니다.
- MAC OS는 CR(\r)을 사용합니다 - 16진수 값 = 0d
- Linux는 LF(\n)를 사용합니다. - 16진수 값 = 0a
따라서 한 운영 체제에서 다른 운영 체제로(귀하의 경우 Linux에서 Windows로) 파일을 전송할 때 텍스트 편집기 \r\n
에서는 \n
. 그러나 그것은 진실이 아니다.
물론 해결책이 있습니다. 모든 줄 종료를 고려하는 최신 텍스트 편집기를 사용할 수 있습니다. 예를 들어 Notepad++, VScode, Atom 등이 있습니다.
이 명령을 사용하여 어떤 회선 종료 기술이 사용되고 있는지 확인할 수 있습니다 file
.
$ file file*
file1: ASCII text
file2: ASCII text, with CR line terminators
file3: ASCII text, with CRLF line terminators
3개 파일 모두 "test"라는 단어만 포함되어 있습니다. 그러나 위에서 우리는 결론을 도출합니다.
- file1은 LF(리눅스)를 사용합니다.
- CR을 사용하는 file2(MAC OS)
- file3은 CRLF를 사용합니다(Windows).
다음을 사용하여 텍스트 자체의 차이점을 확인할 수도 있습니다.od
$ od -t x1 file1
0000000 74 65 73 74 0a
0000006
$ od -t x1 file2
0000000 74 65 73 74 0d
0000006
$ od -t x1 file3
0000000 74 65 73 74 0d 0a
0000010
마지막에 차이점을 확인하세요.