linux cut 명령어 사용법
cut 명령어는 file 이나 표준 입력에서 받은 문자열을 잘라내서 새로운 문자열을 만드는 명령어입니다.
옵션 | 의미 | |
---|---|---|
-b, --bytes | 바이트를 기준으로 잘라냅니다. | |
-c, --characters | 문자열을 기준으로 잘라냅니다. | |
-d, --delimiter | 지정한 문자를 구분자로 사용합니다. (기본 TAB) | |
-f, --fields | 필드를 기준으로 잘라냅니다. | |
-z, --zero-terminated | 라인의 구분자를 개행문자가 아닌 NUL 을 사용합니다. |
문자열로 잘라 만들기
-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