cut 명령어

리눅스 cut 명령어 사용법: 원하는 필드만 골라내는 텍스트 추출 기술

데이터 분석이나 시스템 모니터링을 하다 보면, 방대한 텍스트 파일에서 "아이디만 따로 뽑아낼 수 없을까?" 혹은 "IP 주소 뒷자리만 잘라내고 싶은데"라는 생각이 들 때가 많습니다. 엑셀의 '텍스트 나누기' 기능을 터미널에서 구현하고 싶다면 바로 이 명령어에 주목해야 합니다.

오늘 다룰 리눅스 cut 명령어는 텍스트 파일의 각 행에서 특정 부분을 수직으로 도려내는 강력한 도구입니다. 복잡한 정규 표현식 없이도 빠르고 직관적으로 데이터를 가공할 수 있는 cut의 마법을 지금부터 하나씩 파헤쳐 보겠습니다.

1. cut 명령어의 작동 원리와 필수 요소

cut 명령어는 데이터를 자를 때 두 가지 기준을 주로 사용합니다. 하나는 고정된 위치(Byte/Character)이고, 다른 하나는 구분자(Delimiter)를 기준으로 나눈 필드입니다.

💡 봉봉테크의 실무 Tip:

가장 많이 쓰이는 조합은 -d(구분자)와 -f(필드)입니다. 예를 들어 /etc/passwd 파일처럼 콜론(:)으로 구분된 파일에서 사용자 계정명만 가져올 때 최적의 성능을 발휘합니다.

2. 실무 활용도가 높은 cut 명령어 옵션 활용법

① 구분자 기준 필드 추출: -d & -f

콤마(,)나 콜론(:) 등으로 나뉜 데이터에서 특정 열(Column)을 선택합니다.

# 콜론(:)을 기준으로 첫 번째와 세 번째 필드만 추출
$ echo "admin:x:1000:1000" | cut -d ':' -f 1,3
admin:1000

② 문자/바이트 단위 추출: -c & -b

구분자가 없는 고정 길이 데이터에서 특정 위치의 글자만 가져올 때 사용합니다. -c 1-5는 1번째부터 5번째 글자까지 자르라는 의미입니다.

③ 보완적 추출: --complement

지정한 필드만 빼고 나머지 전부를 출력하고 싶을 때 매우 유용합니다. 수십 개의 열 중 단 하나만 가리고 싶을 때 사용해 보세요.

3. cut 명령어 핵심 옵션 체크리스트

명령어의 문법이 헷갈릴 때마다 아래 표를 확인하여 상황에 맞는 정확한 옵션을 적용하세요.

[표 1] 리눅스 cut 명령어 주요 옵션 상세 비교
옵션 상세 기능 실무 활용 예시
-d (delimiter) 필드를 구분할 기준 문자 지정 CSV 파일 파싱 (-d ',')
-f (fields) 추출할 필드 번호 지정 계정명, IP 주소 등 특정 열 추출
-c (characters) 지정한 문자 위치로 자르기 날짜 데이터에서 '연도'만 추출
-b (bytes) 지정한 바이트 위치로 자르기 아스키 텍스트 처리 시 빠른 성능
--complement 선택한 필드/문자를 제외하고 출력 민감 정보(비밀번호 등)만 가리고 출력

🚀 결론: 데이터를 지배하는 첫걸음

cut 명령어는 단독으로도 훌륭하지만, 앞서 배운 grep, sort, uniq와 조합될 때 진정한 위력을 발휘합니다. 복잡한 파이썬 스크립트를 짜기 전, 간단한 파이프라인 한 줄로 데이터를 가공해 보는 습관을 들여보세요.

오늘 바로 who | cut -d ' ' -f 1을 입력하여 현재 접속 중인 사용자의 아이디만 깔끔하게 출력해 보시는 건 어떨까요?

댓글 쓰기

다음 이전