cut
100%

Text-Fu · 레슨 6

cut

cut으로 각 줄에서 문자 위치나 구분된 필드를 선택하는 방법을 배웁니다.

cut 명령어는 각 입력 줄에서 지정한 문자 위치나 필드를 선택합니다. 구분 기호와 필드 위치가 일정한 구조화된 텍스트에 가장 적합합니다.

예제에 사용할 탭 구분 파일을 만들어 보겠습니다. printf\t를 실제 탭으로, \n을 줄 바꿈으로 해석합니다.

$ printf 'name\trole\nalice\tadmin\nbob\tviewer\n' > team.tsv

문자 위치 선택하기

각 줄에서 위치를 선택하려면 -c LIST를 사용합니다. 위치는 1부터 시작합니다.

$ cut -c 1 team.tsv
n
a
b

목록에는 개별 위치와 범위를 지정할 수 있습니다.

$ cut -c 1-4 team.tsv
name
alic
bob
$ cut -c 1,3 team.tsv
nm
ai
bb

공백, 탭, 문장 부호도 한 위치를 차지합니다. cut은 각 줄을 독립적으로 처리합니다.

names.txt의 모든 줄에서 첫 번째 문자를 출력하는 명령어는 무엇인가요?

탭으로 구분된 필드 선택하기

필드를 선택하려면 -f LIST를 사용합니다. 기본 구분 기호는 탭입니다.

$ cut -f 2 team.tsv
role
admin
viewer

문자 선택과 마찬가지로 목록에는 1, 1,3, 2-4, -3, 2- 같은 값을 지정할 수 있습니다.

team.tsv의 모든 줄에서 탭으로 구분된 두 번째 필드를 출력하는 명령어는 무엇인가요?

사용자 지정 구분 기호 선택하기

필드가 탭 이외의 문자로 구분되어 있으면 -f와 함께 -d CHARACTER를 사용합니다. 다음 예제는 세미콜론 구분 데이터를 만듭니다.

$ printf 'alice;admin\nbob;viewer\n' > team.txt
$ cut -d ';' -f 1 team.txt
alice
bob

이 형식의 구분 기호는 한 문자입니다. 따옴표로 묶지 않은 세미콜론은 쉘에서 제어 의미가 있으므로 ;를 따옴표로 묶습니다.

team.txt에서 세미콜론으로 구분된 두 번째 필드를 출력하는 명령어는 무엇인가요?

구분 기호가 없는 줄 처리하기

필드 모드에서 cut은 일반적으로 구분 기호가 없는 줄을 그대로 출력합니다. 그런 줄을 제외하려면 -s를 추가합니다.

$ printf 'alice;admin\nheader\nbob;viewer\n' | cut -s -d ';' -f 2
admin
viewer

이 기능은 일반적인 CSV 파일을 검증하지 않습니다. CSV에는 따옴표로 묶은 구분 기호, 줄 바꿈, 이스케이프 규칙이 있을 수 있으며 한 문자 분할로는 이를 이해할 수 없습니다. 이런 데이터에는 CSV 전용 도구를 사용하세요.

cut -d ':' -f 1에서 -s는 무엇을 하나요?

표준 입력에서 읽기

파일을 지정하지 않거나 입력 피연산자로 -를 사용하면 cut은 표준 입력을 읽습니다. 따라서 파이프라인 단계로 자연스럽게 사용할 수 있습니다.

$ printf 'red:1\nblue:2\n' | cut -d ':' -f 1
red
blue

generate-data | cut -d ':' -f 1에서 cut은 어디에서 입력을 읽나요?

위치와 필드 선택을 연습하려면 다음 실습을 진행해 보세요.

  1. Linux cut 명령어: 텍스트 자르기 - cut 명령어로 텍스트 파일의 특정 열이나 필드를 추출하는 방법을 직접 연습합니다.
  2. 시퀀스 제어 및 파이프라인 - 명령 실행 순서와 파이프라인을 제어하고 cut, grep, wc, sort, uniq 같은 텍스트 처리 도구를 활용합니다.

레슨 완료

cut 완료

이제 cut으로 줄 단위 텍스트에서 예측 가능한 위치를 선택할 수 있습니다.

  • 개별 문자 위치나 범위를 선택할 수 있습니다.

  • -f로 탭 구분 필드를 추출할 수 있습니다.

  • -d로 한 문자 구분 기호를 지정할 수 있습니다.

  • 필요할 때 구분 기호가 없는 줄을 제외할 수 있습니다.

  • 파일이나 표준 입력에서 구조화된 텍스트를 읽을 수 있습니다.

학습 진행 상황 저장

무료 계정을 만들어 이 레슨을 저장하고 어떤 기기에서든 계속 학습하세요.

무료 계정 만들기
다음 수업
Text-Fu(으)로 돌아가기