Skip to content

Linux 기본명령어 cut #

Find similar titles

11회 업데이트 됨.

Edit
  • 최초 작성자
    jmkang
  • 최근 업데이트
    jmkang

Structured data

Category
Programming

리눅스 기본명령어 - cut #

리눅스에서 파일 내용을 각 필드로 구분하고 필드별로 내용을 추출하며 각 필드들을 구분자로 구분할 수 있는 명령어이다. awk의 print $N 명령어 셋과 유사하나 제한 사항을 가지고 있으며, 스크립트를 작성할 경우 awk보다 더 간편하게 사용이 가능하다. 중요한 옵션으로는 -d(구분자)와 -f(필드 지시자)가 있다. 파일의 각 라인에서 특정 부분을 제거하거나 추출한다.

$ cut [옵션] [파일명]

-b, -c, -f 옵션을 사용할 경우 다음과 같이 특정 숫자 범위를 사용할 수 있다.

N N 번째 바이트, 문자 또는 필드
N-M N번째부터 M번째 까지의 바이트, 문자 또는 필드(M번째 포함)
M 처음부터 M번째 까지의 바이트, 문자 또는 필드

옵션 #

  • -b, --bytes=LIST : 바이트 단위로 선택
  • -c, --characters=LIST : 문자 단위로 선택
  • -d, --delimiter=DELIM : 필드를 구분짓는 기본 값은 TAB 대신에 DELIM을 사용
  • -f, --fields=LIST : 지정한 필드만을 출력
  • -s, --only-delimited : 필드 구분자를 포함하지 않는 줄은 미출력
  • --output-delimiter=STRING : 출력할때 구분자 대신에 STRING을 사용하며, STRING는 문자나 빈칸 등을 사용
  • --help : 도움말 출력
  • --version : 버전정보 출력

#

$ cat cut_test.txt

1234
123 456 789             #공백 구분자
123     456     789     #TAB 구분자
abc def ghi             #공백 구분자
abc     def     ghi     #TAB 구분자

위와 같은 테스트 파일이 있을 경우 -c 옵션을 사용하여 1~3까지의 문자를 출력할 수 있다.

$ cut -c 1-3 cut_test.txt

123
123
123
abc
abc

-f 옵션을 사용하면 아래와 같은 결과를 얻을 수 있다.

$ cut -f 3 cut_test.txt     #파일에서 3번째 필드 출력

1234
123 456 789                 #탭 단위로 라인 전체 출력
789                         #3번째 탭인 '789' 출력
abc def ghi
ghi                         #3번째 탭인 'ghi' 출력

-d 옵션을 사용하면 아래와 같은 결과를 얻을 수 있다.

$ cut -f 2 -d 4 cut_test.txt    #필드 구분 문자 : 4, 2번째 필드 출력
56 789                          #'4' 이 후 필드 '56 789'만 출력
56      789                     #'4' 이후의 필드인 '56    789'만 출력
abc def ghi                     #구분자 '4'가 없어 전체 라인 출력
abc     def     ghi

infocut이 정상적으로 설치되어 있다면 아래 커맨드를 입력하여 매뉴얼의 'cut' 정보를 확인할 수 있다.

$ info coreutils 'cut invocation'

Suggested Pages #

0.0.1_20230725_7_v68