csplit 명령
용도
파일을 개별 파일로 분할합니다.
구문
설명
csplit 명령은 지정된 파일을 복사하고 사본을 세그먼트로 분할합니다. 수정되지 않은 상태의 원본 입력 파일은 반드시 텍스트 파일이어야 합니다.
csplit 명령은 xx00 파일에 세그먼트를 기록합니다. xx99, Argument 매개변수가 지정된 횟수에 따라 (최대값은 99). 기본적으로 Argument 매개변수는 행 번호를 예상합니다. 다음과 같은 규칙은 여러 개의 행 번호를 지정할 때 적용됩니다.
- xx00 파일에는 원래 파일의 시작부터 첫 번째 Argument 매개변수에 지정된 행 번호까지(그 행 번호는 제외)의 행이 있습니다.
- 파일 xx01은 첫 번째 Argument 매개변수에 지정된 번호 행부터 두 번째 Argument 매개변수에 참조된 번호의 행 사이(지정된 번호의 행을 제외)의 행들을 포함합니다. 인수로 지정된 각 행 번호는 새로운 파일의 시작을 표시합니다.
- 파일 xxnn (마지막으로 작성된 파일) 에는 마지막 Argument 매개변수에서 파일 끝까지 지정된 숫자로 시작하는 행이 포함되어 있습니다.
예를 들어, 원본 파일이 108개의 행을 갖고 사용자가 다음 명령을 입력하면,
csplit orginal.txt 11 72 98csplit 명령은 네 개의 파일을 작성합니다. xx00 파일은 1 - 10 범위의 행을 포함합니다. xx01 파일은 11 - 71 범위의 행을 포함합니다. xx02 파일은 72 - 97 범위의 행을 포함합니다. xx03 파일은 98 - 108 범위의 행을 포함합니다.
Argument 매개변수는 다음의 기호 및 패턴 문자열을 포함할 수도 있습니다.
| 항목 | 설명 |
|---|---|
| /패턴/ | 현재 행부터 지정된 패턴을 포함하는 행(포함하지 않음)까지의 세그먼트를 포함하는 파일을 작성합니다. 패턴을 포함하는 행이 현재 행이 됩니다. |
| %패턴% | 지정된 패턴을 포함하는 행을 현재 행으로 표시하지만, 세그먼트를 위한 파일을 작성하지는 않습니다. |
| +번호 | 선행하는 패턴과 일치된 행으로부터 지정된 행 수만큼 정방향으로 이동합니다. 예를 들면 다음과 같습니다./Page/+5검색 대상Page, 그런 다음 5라인을 진행합니다. |
| -번호 | 선행하는 패턴에 일치하는 행으로부터 지정된 행 수만큼 뒤로 이동합니다. 예를 들면 다음과 같습니다./Page/-5검색 대상Page5행을 백업합니다. |
| {번호} | 선행 옵션을 지정된 횟수만큼 반복합니다. 이 숫자는 임의의 패턴이나 행 번호 뒤에 올 수 있습니다. 패턴 뒤에 오는 경우, csplit 명령은 패턴을 지정된 횟수만큼 재사용합니다. 행 번호 뒤에 오면, csplit 명령은 행 번호에 의해 지정된 행 번호에 따라 해당 지점에서부터 파일을 분할합니다. |
공백이나 기타 쉘에 특별한 문자를 포함하는 모든 패턴을 인용 부호로 묶으십시오. 패턴은 삽입된 줄 바꾸기 문자를 포함할 수 없습니다. 다음과 같은 표현식에서[a-z],-(빼기 부호) 는 현재 조합 시퀀스에 따라 -를 의미합니다. 배열 순서는 문자 범위에서 사용할 등가 클래스를 정의할 수 있습니다.
플래그
| 항목 | 설명 |
|---|---|
| -f 접두부 | 작성된 파일 세그먼트에 사용할 접두어를 지정합니다. 이 변수에 대한 디폴트 값은 xx입니다. |
| -k | 오류의 경우에 작성된 파일 세그먼트를 그대로 둡니다. |
| -n 번호 | 작성된 파일 이름에 사용되는 10진수 자리수를 변경합니다. 기본값은 소수점 이하 두 자리 또는 xx00 입니다. xx99. 예를 들어, -n 4 플래그를 지정하면 새 파일의 이름은 xx0000 입니다. xx0099. |
| -s | 문자 개수의 표시를 억제합니다. |
종료 상태
이 명령은 다음과 같은 종료값을 리턴합니다.
| 항목 | 설명 |
|---|---|
| 0 | 정상적으로 완료되었습니다. |
| > 0 | 오류가 발생했습니다. |
예
- 텍스트를 분할하려면 다음을 수행하십시오.book각 장에 대한 별도의 파일에 다음을 입력하십시오.
그러면 xx00부터 xx09까지 10개의 파일을 작성합니다. xx00 파일에는 첫 장보다 앞에 오는 내용이 들어 있습니다. 파일 xx01 - xx09는 개별 장을 포함합니다. 각 장은 단어만 포함하는 행으로 시작합니다.Chapter및 장 번호입니다.csplit book "/^ Chapter *[k.0-9]k./" {9} - 접두부를 지정하려면chap작성된 파일에 대해book, 다음을 입력하십시오.csplit -f chap book "/^ Chapter *[k.0-9]k./" {9}이 분할bookchap00 부터 chap09까지의 파일로 복사하십시오.
파일
| 항목 | 설명 |
|---|---|
| /usr/bin/csplit | csplit 명령을 포함합니다. |