반응형
출처:[bash: split, cat] 파일 분할/재조립
[bash: split, cat] 파일 분할/재조립
용량이 큰 텍스트 또는 바이너리 파일을 분할하거나 재조립할 필요가 있을 때, split 명령과 cat 명령을 활용하면 되겠다.
split 명령의 형식은 아래와 같다.
split [options] file prefix
우 선 텍스트 파일을 분할해 보자. 예를 들어 myfile.txt 파일을 100행 단위로 잘게 나누어 myfile_part로 시작되는 파일명으로 저장하는 경우다. 터미널창에서 아래와 같이 입력해 보자. -l 옵션으로 나눌 행(line) 단위를 지정하면 된다.
split -l 100 myfile.txt myfile_part
나누어진 결과는 myfile_partaa, myfile_partab,... 이런 식으로 저장된다.
기본 순서가 aa, ab, ac 이런식으로 정해지는데 알파벳이 싫으면 수자를 이용해서 00, 01, 02 이런 식으로 순서를 표시할 수도 있다. -d 옵션을 사용.
split -d -l 100 myfile.txt myfile_part
결과 파일은 myfile_part00, myfile_part01,... 이런 식이 될 것이다.
만약 번호 자리수를 늘리려면 -a 옵션을 사용하자. -a 3 이렇게 하면 세자리로 늘어난다.
split -d -a 3 -d 100 myfile.txt myfile_part
결과 파일은 myfile_part000, myfile_part001,... 이런 식이다.
바이너리 파일은 행 단위가 아니라 바이트(byte) 단위로 분할한다. -l 옵션 대신 -b 옵션을 사용하면 되겠다. 크기 설정에 킬로(k), 메가(m), 기가(g) 등 단위도 사용 가능.
myfile.bin 파일을 100kb 단위로 분할하는 예시는 아래와 같다.
split -d -a 3 -b 100k myfile.bin myfile_part
재조립 요령은 텍스트/바이너리 상관 없이 동일하게 cat 명령을 사용하면 된다. 앞의 예시에서 분할된 파일을 재조립하려면 터미널창에서 아래와 같이 입력한다.
cat myfile_part* > myfile_merged
마음의 평화를 위해 파일 순서를 명시적으로 맞추고 싶다면 아래와 같이 sort 명령을 같이 사용할 수도 있긴 한데, 굳이 이렇게 하지 않아도 큰 문제 없이 잘 합쳐지는 것 같다.
반응형
'Operating System > Linux 일반' 카테고리의 다른 글
[Linux] ln -s 심볼릭링크 (0) | 2016.06.24 |
---|---|
[Linux] useradd 계정만들기 (0) | 2016.06.23 |
[Centos7] firewalld 방화벽 해제 (1) | 2016.06.21 |
[Linux] find, grep 파일 및 문자열 찾기 (0) | 2016.06.13 |
[Linux] grep 패턴검색 (0) | 2012.10.10 |