Linux

[리눅스] cut 명령어 완벽 가이드 사용법(특정 문자 추출)

인생아 2024. 10. 14. 12:19
반응형

cut 명령어는 파일이나 입력받은 텍스트 데이터에서 특정 필드 또는 문자를 추출할 때 사용하는 유용한 도구입니다. 주로 필드 구분자를 기준으로 데이터를 분리하거나, 문자의 위치를 기준으로 데이터를 자를 수 있습니다. 이 명령어는 CSV 파일이나 로그 파일처럼 규칙적인 데이터에서 필요한 정보만 간단하게 추출할 때 매우 유용합니다.

cut 명령어의 기본 사용법

cut 명령어는 주로 다음과 같은 형식으로 사용됩니다:

cut [옵션] 파일명

주요 옵션으로는 -f(필드), -d(구분자), -c(문자) 등이 있습니다. -f 옵션필드를 지정하고, -d 옵션은 필드 사이의 구분자를 정의하며, -c 옵션은 특정 문자 위치를 기준으로 데이터를 자릅니다.

cut 명령어 주요 옵션

  1. -f 옵션: 파일에서 필드(열)를 추출할 때 사용됩니다.
  2. -d 옵션: 필드 구분자를 지정합니다. 기본 구분자는 탭(tab)입니다.
  3. -c 옵션: 문자의 위치를 지정하여 특정 위치의 문자를 추출합니다.
  4. --complement: 선택된 필드나 문자를 제외하고 나머지를 출력합니다.

cut 명령어 사용 예시

구분자와 필드를 사용한 데이터 추출

아래는 쉼표(,)로 구분된 CSV 파일에서 첫 번째와 세 번째 필드를 추출하는 예제입니다.

user@linux:~/documents$ cut -d ',' -f 1,3 data.csv

data.csv 파일의 내용이 다음과 같을 때:

apple,10,red
banana,20,yellow
cherry,30,red

명령어 실행 결과:

apple,red
banana,yellow
cherry,red

문자 위치를 기준으로 데이터 추출

특정 문자의 위치를 기준으로 데이터를 자를 수도 있습니다. 예를 들어, 각 행에서 첫 번째에서 다섯 번째 문자만 출력하는 예제입니다.

user@linux:~/documents$ cut -c 1-5 data.txt

data.txt 파일의 내용이 다음과 같을 때:

abcdefghij
1234567890
hello world

명령어 실행 결과:

abcde
12345
hello

필드 구분자 없이 기본 텍스트 추출

공백을 기준으로 필드를 추출할 때는 구분자를 지정하지 않고 기본 옵션만 사용하여 필드를 추출할 수 있습니다. 예를 들어 두 번째 필드만 출력하는 명령어입니다.

user@linux:~/documents$ cut -f 2 sample.txt

sample.txt 파일의 내용이 다음과 같을 때:

apple 10 red
banana 20 yellow
cherry 30 red

명령어 실행 결과:

10
20
30

필드를 제외하고 출력 (--complement)

cut 명령어는 --complement 옵션을 사용해 특정 필드만 제외하고 나머지를 출력할 수도 있습니다.

user@linux:~/documents$ cut -d ',' -f 2 --complement data.csv

명령어 실행 결과:

apple,red
banana,yellow
cherry,red

cut 명령어의 활용도

cut 명령어는 특히 정렬된 데이터 파일이나 로그 파일에서 특정 열이나 데이터를 추출할 때 매우 유용합니다. 특히 간단한 데이터 처리 작업을 신속하게 할 수 있어, 시스템 관리데이터 분석 시 효율적으로 사용할 수 있습니다.

참고사이트

반응형