지정하는 기준을 바탕으로 파일을 자동으로 나누어 주는 명령, 내용이 긴 문서 파일을 효과적으로 나누어 읽을 수 있게 한다.
csplit는 파일내의 내용들 중 지정하는 기준을 바탕으로 여러개의 파일로 분리 생성하는 기능을 한다. 아래에 csplit 명령어 파일명 다음 올 수 있는 인자들을 설명하였다.
이 인자는 파일들을 나눌 기준으로 생각하면 된다.
n : 현재 라인부터 n번째 라인까지의 범위를 파일로 생성한다.
정규표현식/[+n/-n] : 현재 라인부터 정규표현식을 포함하는 라인까지 파일을 생성한다. +n이면 정규표현식을 기준으로 n번째 줄까지 더 포함하며, -n이면 정규표현식을 기준으로 n번째 줄까지를 제외하게 된다.
%정규 표현식%/[+n/-n] : 정규 표현식의 라인 앞 부분은 저장되지 않는다.
{n} : n번 반복한다.
{*} : 입력이 있을 때까지 반복한다.
예제를 통해 알아보자. 다음에 볼 수 있는 song.txt 파일은 노래 가사를 저장해놓은 것이다. 이 노래들을 각각의 파일로 나누어 저장해 보겠다.
이 파일을 각 챕터 별로 나누어 보겠다.
csplit 명령으로 xx00,xx01,xx02 파일이 생성되었다.
새로 생성되는 파일의 숫자는 00부터 시작한다는 것에 주의하자.
사용법 : csplit [옵션]... 파일 인자... - : 표준입력으로부터 입력을 받는다. -b suffix, --suffix-format=suffix : 새롭게 생성되는 파일의 접미사를 지정한다. 보통 파일은 00,01로 시장해서 99까지 생성된다. 아래와 같은 형식 지정이 가능하다. %d 부호 있는 10진수 %i %d와 같다 %u 부호 없는 10진수 %o 8진수 %x 16진수 %X %x와 같다. -f prefix,--prefix=prefix : 새롭게 생성되는 파일의 접두사를 지정할 수 있다. prefix00에서 prefix99까지 중 prefix부분을 지정하는 것이다. -k, --keep-files : 생성 도중 에러가 발생하여도, 새롭게 생성된 파일들을 유지한다. -n, --digits=num : 생성되는 파일의 길이를 지정한다. 기본값은 2자리이다. -s, --quiet,--silent : 문자 개수를 보여주지 않는다. -z, --elide-empty-files : 빈 파일을 제거한다. --help : 도움말을 보여준다. --version : 버전정보를 보여준다.
csplit는 파일내의 내용들 중 지정하는 기준을 바탕으로 여러개의 파일로 분리 생성하는 기능을 한다. 아래에 csplit 명령어 파일명 다음 올 수 있는 인자들을 설명하였다.
이 인자는 파일들을 나눌 기준으로 생각하면 된다.
n : 현재 라인부터 n번째 라인까지의 범위를 파일로 생성한다.
정규표현식/[+n/-n] : 현재 라인부터 정규표현식을 포함하는 라인까지 파일을 생성한다. +n이면 정규표현식을 기준으로 n번째 줄까지 더 포함하며, -n이면 정규표현식을 기준으로 n번째 줄까지를 제외하게 된다.
%정규 표현식%/[+n/-n] : 정규 표현식의 라인 앞 부분은 저장되지 않는다.
{n} : n번 반복한다.
{*} : 입력이 있을 때까지 반복한다.
예제를 통해 알아보자. 다음에 볼 수 있는 song.txt 파일은 노래 가사를 저장해놓은 것이다. 이 노래들을 각각의 파일로 나누어 저장해 보겠다.
# cat song.txt song.1 어린시절 우리 고왔던 시간 저 편의 추억들은 잃어버렸뜬 날들의 크기만큼 사라져갔지 서로의 약속을 잊고 song.2 늘 행복하기를 모두 바라고 있어 수많은 축복에 미소지는 아름다운 내사랑 새햐얀 웨딩 드레스 입고서 눈시울 적시던 너 song.3 부드러운 손길 달콤한 속삭임 내가 원한 것은 그것만은 아니었지 내가 바란 것은 당신이 아니라 내 환상일 뿐
이 파일을 각 챕터 별로 나누어 보겠다.
# csplit songtxt %song.1% /song.2/ /song.3/ 111 120 111
csplit 명령으로 xx00,xx01,xx02 파일이 생성되었다.
# cat xx00 song.1 어린시절 우리 고왔던 시간 저 편의 추억들은 잃어버렸뜬 날들의 크기만큼 사라져갔지 서로의 약속을 잊고 # cat xx01 song.2 늘 행복하기를 모두 바라고 있어 수많은 축복에 미소지는 아름다운 내사랑 새햐얀 웨딩 드레스 입고서 눈시울 적시던 너 # cat xx02 song.3 부드러운 손길 달콤한 속삭임 내가 원한 것은 그것만은 아니었지 내가 바란 것은 당신이 아니라 내 환상일 뿐
새로 생성되는 파일의 숫자는 00부터 시작한다는 것에 주의하자.