UNIX의 cut 명령은 파일의 각 줄에서 섹션을 잘라 내고 결과를 표준 출력에 기록하는 명령입니다. 바이트 위치, 문자 및 필드별로 행의 일부를 자르는 데 사용할 수 있습니다. 기본적으로 cut 명령은 한 줄을 자르고 텍스트를 추출합니다. 명령으로 옵션을 지정해야합니다. 그렇지 않으면 오류가 발생합니다. 둘 이상의 파일 이름이 제공되면 각 파일의 데이터가 파일 이름 앞에 나오지 않습니다.
구문 :
cut OPTION... ...
이름이 state.txt이고 capital.txt가 5 개의 인도 주 이름을 포함하는 두 파일을 고려해 보겠습니다. 각각 대문자.
$ cat state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh
옵션을 지정하지 않으면 오류가 표시됩니다.
$ cut state.txtcut: you must specify a list of bytes, characters, or fieldsTry "cut --help" for more information.
옵션 및 예제와 설명 :
1. -b (byte) : 특정 바이트를 추출하려면 쉼표로 구분 된 바이트 번호 목록과 함께 -b 옵션을 따라야합니다. 하이픈 (-)을 사용하여 바이트 범위를 지정할 수도 있습니다. 바이트 번호 목록을 지정해야합니다. 그렇지 않으면 오류가 발생합니다. 탭과 백 스페이스는 1 바이트 문자처럼 취급됩니다.
행의 처음부터 끝까지 바이트를 선택하는 특수 형식을 사용합니다.
In this, 1- indicate from 1st byte to end byte of a line$ cut -b 1- state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarhIn this, -3 indicate from 1st byte to 3rd byte of a line$ cut -b -3 state.txtAndAruAssBihChh
2. -c (열) : 문자별로 자르려면 -c 옵션을 사용하십시오. -c 옵션에 지정된 문자를 선택합니다. 쉼표로 구분 된 숫자 목록이거나 하이픈 (-)으로 구분 된 숫자 범위 일 수 있습니다. 탭과 백 스페이스는 문자로 처리됩니다. 문자 번호 목록을 지정해야합니다. 그렇지 않으면이 옵션에 오류가 발생합니다.
구문 :
$cut -c filename
여기서 k는 문자의 시작 위치와 n은 각 행에서 문자의 끝 위치를 나타내며, k와 n이 “-“로 분리되면 입력으로 사용 된 파일에서 각 행의 문자 위치 일뿐입니다.
$ cut -c 2,5,7 state.txtnrrahsmirhti
위의 잘라 내기 명령은 파일의 각 줄에서 두 번째, 다섯 번째 및 일곱 번째 문자를 인쇄합니다.
$ cut -c 1-7 state.txtAndhraArunachAssamBiharChhatti
Above cut 명령은 파일에서 각 줄의 처음 7자를 인쇄합니다.
Cut은 처음부터 줄 끝까지 문자를 선택하는 특수 형식을 사용합니다.
$ cut -c 1- state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarhAbove command prints starting from first character to end. Here in command only startingposition is specified and the ending position is omitted.$ cut -c -5 state.txtAndhrArunaAssamBiharChhatAbove command prints starting position to the fifth character. Here the starting positionis omitted and the ending position is specified.
3. -f (필드) : -c 옵션은 고정 길이 줄에 유용합니다. 대부분의 유닉스 파일에는 고정 된 파일이 없습니다. 길이 줄. 유용한 정보를 추출하려면 열이 아닌 필드별로 잘라야합니다. 필드 번호 지정 목록 fied는 쉼표로 구분해야합니다. 범위는 -f 옵션으로 설명되지 않습니다. cut은 탭을 기본 필드 구분 기호로 사용하지만 -d 옵션을 사용하여 다른 구분 기호와 함께 사용할 수도 있습니다.
참고 : UNIX에서는 공백이 구분 기호로 간주되지 않습니다.
구문 :
$cut -d "delimiter" -f (field number) file.txt
파일에서와 같이 state.txt 필드는 -d 옵션을 사용하지 않으면 공백으로 구분되며 전체 행을 인쇄합니다.
$ cut -f 1 state.txtAndhra PradeshArunachal PradeshAssamBiharChhattisgarh
-d 옵션을 사용하면 공백을 필드 구분 기호 또는 구분 기호로 간주합니다.
$ cut -d " " -f 1 state.txtAndhraArunachalAssamBiharChhattisgarh
Command prints field from first to fourth of each line from the file.Command:$ cut -d " " -f 1-4 state.txtOutput:Andhra PradeshArunachal PradeshAssamBiharChhattisgarh
4. –complement : 이름에서 알 수 있듯이 출력을 보완합니다. 이 옵션은 -f 또는 -c와 함께 다른 옵션과 조합하여 사용할 수 있습니다.
5. –output-delimiter : 기본적으로 출력 구분 기호는 -d 옵션으로 잘라 내기에서 지정한 입력 구분 기호와 동일합니다. 출력 구분 기호를 변경하려면 –output-delimiter =”delimiter”옵션을 사용하십시오.
$ cut -d " " -f 1,2 state.txt --output-delimiter="%"Andhra%PradeshArunachal%PradeshAssamBiharChhattisgarh
Here cut 명령은 표준 출력에서 구분 기호 (%)를 -f 옵션을 사용하여 지정된 필드.
6. –version :이 옵션은 현재 시스템에서 실행중인 cut 버전을 표시하는 데 사용됩니다.
$ cut --versioncut (GNU coreutils) 8.26Packaged by Cygwin (8.26-2)Copyright (C) 2016 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later .This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.Written by David M. Ihnat, David MacKenzie, and Jim Meyering.
cut 명령의 적용
1. pipes (|)와 함께 tail을 사용하는 방법 : cut 명령은 unix의 다른 많은 명령과 함께 파이프 될 수 있습니다. 다음 예제에서 cat 명령의 출력은 -f 옵션을 사용하여 cut 명령에 대한 입력으로 제공되어 state.txt 파일에서 오는 상태 이름을 역순으로 정렬합니다.
$ cat state.txt | cut -d " " -f 1 | sort -rChhattisgarhBiharAssamArunachalAndhra
추가 처리를 위해 하나 이상의 필터로 파이프 할 수도 있습니다. 다음 예에서와 같이 cat, head 및 cut 명령을 사용하고 있으며 해당 출력은 directive (>)를 사용하여 파일 이름 list.txt에 저장됩니다.
$ cat state.txt | head -n 3 | cut -d " " -f 1 > list.txt$ cat list.txtAndhraArunachalAssam
더 많은 예제를 제공해 주신 Saloni Gupta에게 감사드립니다.