구분자(공백·콤마·탭)로 나뉜 텍스트의 「특정 컬럼만 뽑기·붙이기」 도구.
CSV·로그·구조화된 텍스트 처리에 유용.
cut 기본.
cut -d ',' -f 1,3 file.csv — 콤마 구분, 1과 3번째 컬럼.
cut -d ':' -f 1 /etc/passwd — passwd 파일에서 사용자명만(콜론 구분 첫 컬럼).
-f 2-5로 범위.
바이트·문자 단위.
cut -b 1-10 — 처음 10바이트.
cut -c 1-10 — 처음 10문자(한글 차이).
고정폭 파일(매 컬럼 폭이 정해진)에 유용.
paste.
cut의 반대 — 「여러 파일을 컬럼으로 합침」.
paste a.txt b.txt — 같은 줄을 탭으로 결합한 새 출력.
여러 데이터 소스를 옆으로 나란히 둘 때.
한계.
cut은 「하나의 구분자」만 — 공백 여러 개나 정렬되지 않은 데이터엔 부적합.
그런 경우 awk가 답.
awk는 공백 여러 개를 자동으로 한 구분자로 처리, 더 복잡한 가공도 가능.
단순한 경우엔 cut, 복잡하면 awk.
한 줄 요약
cut은 컬럼 추출(-d 구분자, -f 컬럼 번호).
paste는 여러 파일 옆으로 결합.
cut은 단순한 구분자만, 복잡한 경우엔 awk가 우위.
더 알아볼 것
- awk vs cut 선택
- CSV 정확 파싱은 csvkit
- 고정폭 파일 — fixed-width