cut 명령어는 file 이나 표준 입력에서 받은 문자열을 잘라내서 새로운 문자열을 만드는 명령어입니다.  

옵션의미
-b, --bytes바이트를 기준으로 잘라냅니다.
-c, --characters문자열을 기준으로 잘라냅니다.
-d, --delimiter지정한 문자를 구분자로 사용합니다. (기본 TAB)
-f, --fields필드를 기준으로 잘라냅니다.
-z, --zero-terminated라인의 구분자를 개행문자가 아닌 NUL 을 사용합니다.
 예제 파일 Click here to expand...


문자열로 잘라 만들기

-c 옵션을 사용하면 character 기준으로 잘라 만들수 있습니다. 아래는 각 라인의 2번째 문자부터 4번째 문자까지만 잘라서 새로운 문자열로 출력합니다.

$ cut -c 2-4 < sed-example.txt

nix
ear
nix
nix


숫자 앞 뒤에 하이픈(-)을 붙여서 범위를 지정할 수 있습니다. 아래는 10 번째 글자 이후만 잘라서 출력합니다.

$ cut -c 10- < sed-example.txt   

reat os. unix is opensource. unix is free os.
rating system.
x which one you choose.
asy to learn.unix is a multiuser os.Learn unix .unix is a powerful.


아래는 맨 앞의 6자까지만 출력합니다.

$ cut -c -6 < sed-example.txt

unix i
learn 
unix l
unix i


특정 위치의 값만 잘라올 경우 , 로 구분자로 해서 위치를 지정해 줍니다.

$ cut -c 2,5,7 < sed-example.txt

n s
eno
n i
n s

delimiter 지정

-d 옵션으로 구분자를 지정할 수 있습니다. -d 옵션을 사용할 경우 -c 나 -b 는 사용할 수 없고 필드를 지정하는 옵션인 -f 만 사용해야 합니다.

/etc/passwd 파일의 구분자는 : 이므로 아래는 시스템에 등록된 사용자의 id 를 표시합니다.

$ cut  -d ':' -f 1 /etc/passwd

sshd
chrony
ec2-user
apache
nginx


아래 명령어는 사용자의 이름을 표시합니다.

$ cut  -d ':' -f5 /etc/passwd

Cloud User
Apache
Nginx web server


-f 는 , 를 구분자로 여러 필드를 추출할 수 있으며 아래는 사용자의 id와 shell 을 표시합니다.

$ cut  -d ':' -f1,7  /etc/passwd

ec2-user:/bin/bash
apache:/sbin/nologin
nginx:/sbin/nologin
pcp:/sbin/nologin

Ref





blog comments powered by Disqus