Linux의 Cut 명령

Linux 및 Unix 시스템에서 텍스트 파일을 처리하고 필터링 할 수있는 많은 유틸리티가 있습니다. cut는 지정된 파일 또는 파이프 된 데이터에서 줄의 일부를 잘라 내고 결과를 표준 출력으로 인쇄 할 수있는 명령 줄 유틸리티입니다. 구분자, 바이트 위치 및 문자로 줄의 일부를 자르는 데 사용할 수 있습니다.

이 기사에서는 cut를 사용하는 방법을 보여줍니다. 실제 예와 가장 일반적인 옵션에 대한 자세한 설명을 통해 명령을 실행합니다.

cut 명령 # 사용 방법

cut의 구문 명령은 다음과 같습니다.

cut 사용 여부를 알려주는 옵션 선택한 부분을 잘라낼 때 구분 기호, 바이트 위치 또는 문자는 다음과 같습니다.

위에 나열된 옵션 중 하나만 사용할 수 있습니다.

다른 옵션은 다음과 같습니다. :

  • -d (--delimiter)-기본값 “대신 사용할 구분 기호를 지정합니다. TAB”구분 기호입니다.
  • --complement-선택을 보완합니다.이 옵션을 사용하면 cut는 모든 바이트, 문자, 또는 se를 제외한 필드 선택됨.
  • -s (--only-delimited)-기본적으로 cut 구분 문자가없는 행을 인쇄합니다. 이 옵션을 사용하면 cut는 구분 기호가 포함되지 않은 줄을 인쇄하지 않습니다.
  • --output-delimiter-기본 동작 cut는 입력 구분자를 출력 구분자로 사용하는 것입니다. 이 옵션을 사용하면 다른 출력 구분자 문자열을 지정할 수 있습니다.

cut 명령은 0 개 이상의 입력 파일 이름을 허용 할 수 있습니다. FILE가 지정되지 않았거나 FILE- 인 경우 cut는 표준 입력에서 읽습니다.

-f에 전달 된 LIST 인수 , -b-c 옵션은 정수, 쉼표로 구분 된 여러 정수, 정수 범위 또는 쉼표로 구분 된 여러 정수 범위 일 수 있습니다. . 각 범위는 다음 중 하나 일 수 있습니다.

  • N 1부터 시작하는 N 번째 필드, 바이트 또는 문자
  • N- N 번째 필드, 바이트 또는 문자부터 줄 끝까지
  • N-M N 번째 필드부터 M 번째 필드, 바이트 또는 문자로.
  • -M 첫 번째에서 M 번째 필드, 바이트 또는 문자로

필드 번호로 자르는 방법

잘라야 할 필드를 지정하려면 -f 옵션과 함께 명령을 호출하십시오. 지정되지 않은 경우 기본 구분 기호는 “TAB”입니다.

아래 예에서는 다음 파일을 사용합니다. 필드는 탭으로 구분됩니다.

test.txt

예를 들어 첫 번째 및 세 번째 필드를 표시하려면 다음을 사용합니다.

또는 1 번째에서 4 번째 필드까지 표시하려는 경우 :

구분자 번호를 기준으로 자르는 방법

구분자를 기준으로 자르려면 -d 옵션 뒤에 사용할 구분 기호가 나옵니다.

예를 들어 “:”를 구분 기호로 사용하여 첫 번째 및 세 번째 필드를 표시하려면 다음을 입력합니다.

단일 문자를 구분자로 사용할 수 있습니다. 다음 예에서는 공백 문자를 구분 기호로 사용하고 두 번째 필드를 인쇄합니다.

선택 항목을 보완하는 방법 #

선택 필드 목록을 보완하려면 --complement 옵션을 사용하십시오. 그러면 -f 옵션으로 선택되지 않은 필드 만 인쇄됩니다.

다음 명령은 첫 번째와 세 번째를 제외한 모든 필드를 인쇄합니다.

출력 구분 기호를 지정하는 방법

출력 구분 기호를 지정하려면 --output-delimiter 옵션. 예를 들어 출력 구분자를 _로 설정하려면 다음을 사용합니다.

바이트 및 문자로 자르는 방법 #

계속 진행하기 전에 바이트와 문자를 구분 해 보겠습니다.

1 바이트는 8 비트이며 나타낼 수 있습니다. 256 개의 다른 값. ASCII 표준이 설정 될 때 영어 작업에 필요한 모든 문자, 숫자 및 기호를 고려했습니다. ASCII 문자 테이블은 128 자이며 각 문자는 1 바이트로 표시됩니다.컴퓨터가 전 세계적으로 액세스 가능하기 시작했을 때 기술 회사는 다양한 언어에 대한 새로운 문자 인코딩을 도입하기 시작했습니다. 256자를 초과하는 언어의 경우 간단한 일대일 매핑이 불가능했습니다. 이로 인해 문서 공유 또는 웹 사이트 검색과 같은 다양한 문제가 발생하고 대부분의 세계 쓰기 시스템을 처리 할 수있는 새로운 유니 코드 표준이 필요했습니다. UTF-8은 이러한 문제를 해결하기 위해 만들어졌습니다. UTF-8에서 모든 문자가 1 바이트로 표시되는 것은 아닙니다. 문자는 1 바이트에서 4 바이트까지 표현할 수 있습니다.

-b (--bytes) 옵션은 명령에 다음과 같이 지시합니다. 주어진 바이트 위치로 지정된 각 행에서 섹션을 잘라냅니다.

다음 예에서는 2 바이트를 사용하는 ü 문자를 사용합니다.

5 번째 바이트 선택 :

5 번째, 9 번째 및 13 번째 바이트 선택 :

1 번째에서 5 번째 바이트 범위 선택 :

이 기사를 작성할 당시 GNU coreutils에 번들로 포함 된 cut 버전에는 문자로 자르는 옵션. -c 옵션을 사용할 때 cut-b 옵션을 사용할 때와 동일하게 작동합니다.

컷 예 #

cut 명령은 일반적으로 배관을 통해 다른 명령과 함께 사용됩니다. 다음은 몇 가지 예입니다.

모든 사용자 목록 가져 오기

getent passwd 명령의 출력이

: :를 구분자로 사용하여 첫 번째 필드를 인쇄합니다.

출력에는 모든 시스템 사용자 목록이 표시됩니다.

가장 자주 사용되는 10 개의 명령보기 #

다음 예에서는 cut가 사용됩니다. history 명령 출력의 각 줄에서 처음 8 바이트를 제거합니다.

결론 #

cut 명령은 주어진 파일의 각 줄 또는 표준 입력에서 선택한 필드를 표시하는 데 사용됩니다.

매우 유용하지만 cut에는 몇 가지 제한 사항이 있습니다. 두 개 이상의 문자를 구분자로 지정하는 것은 지원하지 않으며 여러 구분자를 지원하지 않습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다