[linux][java] 캐리지 리턴, 라인피드

2016. 11. 7. 17:07·리눅스

개행을 위한 제어 문자에는 몇가지 종류가 있는데 

그중에서 가장 많이 사용하는 것이, LF, CR, CR+LF 이다. 


LF: Line Feed - \n (^M)

CR: Carriage Return - \r

CR+LF : \r\n


시스템에 따라 이중 하나만 사용해도 개행이 되는 시스템도 있고, 모두를 지원하는 시스템도 있다. 


문제는 리눅스의 개행은 \n 이고, 

자바는 \r, \n, \r\n을 모두 지원한다. 

따라서 문자열 처리중 의도하지 않은 오류가 발생할 수 있다. 


자바에서 문자열을 개항문자로 split 하여 처리하는 중 의도하지 않은 개행이 발생한다면 

이로 인한 오류일 가능성이 높으므로 문자열 처리전 LF를 제거해주 면 된다. 


제거 방법은 다음과 같다. 


<vi 에서 제거>

:%s/^M$//g


<콘솔에서 제거>

tr -d '\r' < inputfile > outputfile


<이클립스에서>

File -> Convert Line Delimiters to -> Unix


https://ko.wikipedia.org/wiki/%EC%83%88%EC%A4%84_%EB%AC%B8%EC%9E%90




반응형
저작자표시 비영리 (새창열림)

'리눅스' 카테고리의 다른 글

[error] error: command 'gcc' failed with exit status 1 오류  (0) 2019.09.10
[리눅스][vi] vi 편집기에서 모든 라인을 지우는 법  (0) 2017.05.08
[hadoop][python][linux] sudo: no tty present and no askpass program specified 오류 처리하기  (0) 2016.10.05
You have new mail in /var/spool/mail/ 메시지가 올 때 처리방법  (0) 2016.07.08
curl 명령어 팁  (0) 2016.04.10
'리눅스' 카테고리의 다른 글
  • [error] error: command 'gcc' failed with exit status 1 오류
  • [리눅스][vi] vi 편집기에서 모든 라인을 지우는 법
  • [hadoop][python][linux] sudo: no tty present and no askpass program specified 오류 처리하기
  • You have new mail in /var/spool/mail/ 메시지가 올 때 처리방법
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    SPARK
    HIVE
    nodejs
    AWS
    emr
    yarn
    HDFS
    파이썬
    하둡
    ubuntu
    oozie
    hbase
    k8s
    정올
    bash
    S3
    build
    Python
    알고리즘
    mysql
    다이나믹
    Linux
    오류
    Hadoop
    Tez
    airflow
    하이브
    백준
    error
    java
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[linux][java] 캐리지 리턴, 라인피드
상단으로

티스토리툴바