Linux에서 grep, find 등과 함께 자주 사용되는 cut 명령어를 숙지해보자
1. Cut 명령어
특정 파일에서 특정 필드를 출력해주는 명령어
파일에서 원하는 값을 잘라서 보여주는 명령어
2. Cut 사용법
# 기본 사용법
cut [Option] [File]
# 주 사용 예시
cat test.txt | cut -c 3
-c --characters : 지정한 문자 출력, 콤마(,) 하이픈(-)을 사용하여 범위 지정 가능
-f --fields : 지정된 필드 출력
-d -delimiter : 필드를 구분하는 문자 지정, 디폴트는 Tab 문자
-s : 필드 구분자를 포함하지 않는 행은 출력하지 않음
3. Cut 사용 예제
3.1. 예제를 위한 파일 생성
# test.txt 내용
123:456:789:012
abc:def:ghi:jkl
3.2. 특정 문자열 출력
cat test.txt | cut -c 3
3.3. 범위를 지정하여 필드 출력
- ':' 문자를 구분자로 필드를 구분하고 1~2 번째 필드 출력
cat test.txt | cut -d':' -f1-2
3.4. 파일에 없는 문자를 구분자로 지정했을 경우
- 파일에 없는 'z' 문자를 구분자로 지정
- z 문자가 없기 때문에 필드 구분이 이루어지지 않는다.
cat test.txt | cut -d'z' -f1
cat test.txt | cut -d'z' -f2
3.5. 파일에 없는 문자를 구분자로 지정한 후, 구분자가 포함되지 않는 필드는 출력하지 않을 때
- 파일에 없는 'z' 문자를 구분자로 지정
- z 구분자가 포함되지 않는 필드는 출력하지 않음
cat test.txt | cut -d'z' -f1 -s
3.6. 파일에 있는 문자를 구분자로 지정한 후, 구분자가 포함되지 않는 필드는 출력하지 않음
- 파일에 있는 ':' 문자를 구분자로 지정
- : 구분자가 존재하기 때문에, 결과 값은 -s 옵션을 주지 않은 것과 동일함
cat test.txt | cut -d':' -f1 -s