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”입니다.
아래 예에서는 다음 파일을 사용합니다. 필드는 탭으로 구분됩니다.
예를 들어 첫 번째 및 세 번째 필드를 표시하려면 다음을 사용합니다.
또는 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
에는 몇 가지 제한 사항이 있습니다. 두 개 이상의 문자를 구분자로 지정하는 것은 지원하지 않으며 여러 구분자를 지원하지 않습니다.