CR(carriage return)은 커서를 맨앞으로 이동하는 것
LF(Line Feed)는 커서를 다음줄로 내리는 것
윈도우에서는 개행을 CR+LF (캐리지 리턴 + 라인 피드)
그 이외 OS에서는 개행을 LF(라인피드)로 처리한다.
따라서 윈도우(CR+LF)에서 리눅스(LF)로 파일을 이동했을 때 LF는 정상 처리되고
^M (ASCII CODE %o015(10진수 : 13))라는 CR값이 나홀로 남아있다.
(파일을 저장한 Editor에 따라서 안나타날 수도 있다)
이럴경우 다음의 명령어를 치면 recursive하게 ^M(CR) 문자가 사라진다.
find . -exec perl -pi -e 's/\01//g' {} \;
역사 토막상식)
팩스 시대에서는 CR(커서를 맨앞으로 이동) LF(종이를 위로 1줄 밀어냄)가 필요했다.
그러나 메모리나 저장소가 귀하던 시절에 개행을 위해 ascii코드가 2바이트나 할당되는 것을 못참고
리눅스계열에서 LF하나로만 개행을 표현하기 시작했다고 한다.
iOS에서는 개행문자를 CR로 사용하다가 몇년전 LF로 변경했다고 한다.
개인적으로는 MS에서 역사와 전통을 지키는건 좋지만 이제는 통합해줬으면 좋겠다.
'자바스크립트 Deep Dive' 카테고리의 다른 글
[Javascript] null 병합 연산자(??) (0) | 2023.02.09 |
---|---|
[Javascript] 옵셔널 체이닝(?.) 연산자 (0) | 2023.02.09 |
[Javascript] 중첩 for문에서 탈출하기 - 레이블(label) 이용 (0) | 2023.02.05 |
[Javascript] 삼항 조건 연산자 vs if else 문 (0) | 2023.02.05 |
[Javascript] 컴퓨터는 어떻게 메모리를 참조할까 (0) | 2023.02.05 |