Jump to content

cut (Unix)

This is a fully translated article. Click here for more information.
From DawoumWiki, the free Mathematics self-learning

cut
Original author(s)AT&T Bell Laboratories
Developer(s)Various open-source and commercial developers
Initial releaseFebruary 1985; 40 years ago (1985-02)
Operating systemUnix, Unix-like, IBM i
PlatformCross-platform
TypeCommand
Licensecoreutils: GPLv3+

컴퓨팅에서, cut유닉스유닉스-계열 운영 시스템명령줄 유틸리티로, 입력 – 보통 파일에서 각 줄에서 섹션을 추출하기 위해 사용됩니다. 그것은 현재 GNU coreutils 패키지와 BSD 기본 시스템의 일부입니다.

줄 구획의 추출은 전형적으로 구분 기호 (-d — 기본적으로 탭 문자)에 의해 분리된 바이트 (-b), 문자 (-c), 또는 필드 (-f)에 의해 수행될 수 있습니다. 범위는 각 경우에서 N, N-M, N- (N에서 줄 끝까지), 또는 -M (줄의 시작에서 M까지) 중 하나로 구성되는 것으로 제공되어야 하며, 여기서 N과 M은 1에서 세어집니다 (0번째 값은 없습니다). 버전 6부터, 0번째 값을 포함하면 오류가 발생합니다. 이것 전에는 값이 무시되고 1로 가정되었습니다.

History

cut은 1987년 2호부터 X/Open 이식성 가이드의 일부입니다. 그것은 POSIX.1의 첫 번째 버전과 단일 유닉스 사양으로 상속되었습니다.[1] 그것은 1982년 AT&T 시스템 III 유닉스에 처음 등장했습니다.[2]

GNU coreutils에 번들된 cut 버전은 David M. Ihnat, David MacKenzie 및 Jim Meyering에 의해 작성되었습니다.[3]

cut 명령은 IBM i 운영 시스템에도 이식되었습니다.[4]

Examples

다음 행을 포함하는 "file"이라는 파일을 가정합니다:

foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

각 줄의 네 번째에서 열 번째 문자를 출력하려면 다음을 수행합니다:

$ cut -c 4-10 file
:bar:ba
:two:th
ha:beta
 quick

콜론 문자를 필드 구분 기호로 사용하여 각 줄의 줄 끝까지 다섯 번째 필드를 출력하기 위해:

$ cut -d ":" -f 5- file
quux
five:six:seven
epsilon:zeta:eta:theta:iota:kappa:lambda:mu
the quick brown fox jumps over the lazy dog

(마지막 줄에 콜론 문자가 없기 때문에 전체 줄이 표시됨을 주목하십시오.)

옵션 -d는 필드 구분 기호 역할을 하는 단일 문자 구분 기호 (위의 예에서는 콜론임)를 지정했습니다. 옵션 -f는 출력에 포함된 필드 범위를 지정합니다 (여기서 필드 범위는 5에서 끝까지). 옵션 -d는 옵션 -f의 사용을 전제로 합니다.

공백을 필드 구분 기호로 사용하여 각 줄의 세 번째 필드를 출력하기 위해:

$ cut -d " " -f 3 file
foo:bar:baz:qux:quux
one:two:three:four:five:six:seven
alpha:beta:gamma:delta:epsilon:zeta:eta:theta:iota:kappa:lambda:mu
brown

(처음 세 줄에는 공백 문자가 없기 때문에 이 전체 줄이 표시될 것임을 주목하십시오.)

임의의 구분 기호를 가지는 두 단어를 분리하기 위해:

$ line=process.processid
$ cut -d "." -f1 <<< $line
process
$ cut -d "." -f2 <<< $line
processid

Syntax

cut [-b list] [-c list] [-f list] [-n] [-d delim] [-s] [file]

사용될 수 있는 플래그는 다음과 같습니다:

-b
바이트; -b 다음에 오는 목록은 반환될 바이트 범위를 지정합니다. 예를 들어 cut -b1-66은 줄의 처음 66 바이트를 반환합니다. NB -n과 결합해서 사용하면 다중-바이트 문자가 분할되지 않을 것입니다. NNB -b는 1023 바이트 미만의 입력 라인에서만 작동할 것입니다.
-c
문자; -c 다음에 오는 목록은 반환될 문자 범위를 지정합니다. 예를 들어 cut -c1-66은 줄의 처음 66 문자를 반환합니다.
-f
구분 기호로 분리된 필드 목록을 지정합니다.
list
쉼표로 구분되거나 공백으로 구분된 정수 표시된 필드의 목록, 증분으로 순서화됩니다. - 표시기는 필드 범위를 포함할 수 있도록 약어로 제공될 수 있습니다. 예를 들어, 범위 4–6에 대해 4-6 또는 필드 5에서 끝까지 약어로 5-, 등.
-n
-b와 조합에서 사용되면 다중-바이트 문자 분할을 억제합니다.
-d
구분기호; -d 옵션 바로 다음에 오는 문자는 -f 옵션과 결합에서 사용하기 위한 필드 구분 기호입니다. 기본 구분 기호는 tab입니다. 사용 중인 컨텍스트 내에서 특별한 의미를 갖는 공백 및 기타 문자는 필요에 따라 따옴표로 묶거나 탈출되어야 합니다.
-s
-f가 지정될 때, 달리 표시되지 않은 한 필드 구분 기호를 포함하지 않은 줄을 무시합니다.
file
입력으로 처리할 파일 (및 필요하면 동반 경로). 만약 파일이 지정되지 않으면 표준 입력이 사용될 것입니다.

See also

References

  1. ^ cut – Commands & Utilities Reference, The Single UNIX Specification, Issue 7 from The Open Group
  2. ^ cut(1) – FreeBSD General Commands Manual
  3. ^ cut(1) – Linux General Commands Manual
  4. ^ IBM. "IBM System i Version 7.2 Programming Qshell" (PDF). Retrieved 2020-09-05.{{cite web}}: CS1 maint: url-status (link)