728x90
cut 명령어
cut 명령어는 텍스트 파일의 각 행이나 열에서 일부 텍스트를 추출하는 데 사용되는 유닉스 및 리눅스 명령어입니다. 주로 텍스트 처리 및 데이터 추출 작업에 유용합니다.
설치
유닉스 및 리눅스 시스템에는 보통 기본으로 설치되어 있습니다.
기본 구문
cut [옵션] [파일]
주요 옵션
- -c, --characters=LIST : 특정 문자(열)을 추출합니다.
- -f, --fields=LIST : 특정 필드(열)을 추출합니다. 필드는 텍스트를 구분하는 구분자에 따라 정의됩니다.
- -d, --delimiter=DELIM : 필드를 구분하는 구분자를 지정합니다. 기본값은 탭(Tab)입니다.
- --complement : 지정된 옵션에 반대로 동작하여 추출하지 않는 부분을 추출합니다.
사용 예시
1. 특정 문자(열) 추출
echo "Hello, World" | cut -c 1-5
$ echo "Hello, World" | cut -c 1-5
Hello
2. 특정 필드(열) 추출
echo "John,Doe,30" | cut -d ',' -f 1,2
$ echo "John,Doe,30" | cut -d ',' -f 1,2
John,Doe
cat /etc/passwd | cut -d ':' -f 1,3
$ cat /etc/passwd | cut -d ':' -f 1,3
root:0
daemon:1
bin:2
sys:3
man:6
www-data:33
nobody:65534
_apt:100
systemd-network:101
systemd-resolve:102
messagebus:103
systemd-timesync:104
sshd:106
syslog:107
uuidd:108
tcpdump:109
tss:110
728x90
3. 구분자를 기준으로 특정 필드(열) 추출
cat /etc/passwd | cut -d ':' -f 1
$ cat /etc/passwd | cut -d ':' -f 1
root
daemon
bin
sys
man
www-data
nobody
_apt
systemd-network
systemd-resolve
messagebus
systemd-timesync
sshd
syslog
uuidd
tcpdump
tss
이 예제에서는 /etc/passwd 파일의 각 줄에서 ':'로 구분된 첫 번째 필드(열)을 추출합니다.
4. 특정 필드(열) 제외하고 추출
cat /etc/passwd | cut -d ':' --complement -f 1
$ cat /etc/passwd | cut -d ':' --complement -f 1
x:0:0:root:/root:/bin/bash
x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
x:2:2:bin:/bin:/usr/sbin/nologin
x:3:3:sys:/dev:/usr/sbin/nologin
x:6:12:man:/var/cache/man:/usr/sbin/nologin
x:33:33:www-data:/var/www:/usr/sbin/nologin
x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
x:100:65534::/nonexistent:/usr/sbin/nologin
x:101:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
x:102:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
x:103:104::/nonexistent:/usr/sbin/nologin
x:104:105:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
x:106:65534::/run/sshd:/usr/sbin/nologin
x:107:113::/home/syslog:/usr/sbin/nologin
x:108:114::/run/uuidd:/usr/sbin/nologin
x:109:115::/nonexistent:/usr/sbin/nologin
x:110:116:TPM software stack,,,:/var/lib/tpm:/bin/false
이 예제에서는 /etc/passwd 파일의 각 줄에서 첫 번째 필드(열)을 제외한 나머지 부분을 추출합니다.
5. 파일에서 특정 범위의 문자 추출
cut -c 1-20 /etc/passwd
$ cut -c 1-20 /etc/passwd
root:x:0:0:root:/roo
daemon:x:1:1:daemon:
bin:x:2:2:bin:/bin:/
sys:x:3:3:sys:/dev:/
man:x:6:12:man:/var/
www-data:x:33:33:www
nobody:x:65534:65534
_apt:x:100:65534::/n
systemd-network:x:10
systemd-resolve:x:10
messagebus:x:103:104
systemd-timesync:x:1
sshd:x:106:65534::/r
syslog:x:107:113::/h
uuidd:x:108:114::/ru
tcpdump:x:109:115::/
tss:x:110:116:TPM so
이 예제에서는 /etc/passwd 파일의 각 줄에서 1번부터 20번까지의 문자를 추출합니다.
cut 명령어는 더 많은 옵션과 사용 방법을 지원하므로 man cut 명령어를 사용하여 상세한 매뉴얼 페이지를 참고할 수 있습니다.
728x90
'리눅스' 카테고리의 다른 글
[draft] lsattr 명령어와 chattr 명령어 (0) | 2023.11.30 |
---|---|
rev 명령어 (0) | 2023.11.29 |
youtube-dl 명령어 (0) | 2023.11.28 |
nGrinder를 사용하여 성능 테스트를 수행하는 방법 (0) | 2023.11.22 |
Gradle을 사용하여 Spring Boot 프로젝트를 생성하는 방법 (1) | 2023.11.20 |