bash script (backup)2020. 11. 26. 14:05

 

반달가면 이글루에서 백업 - bahndal.egloos.com/456590

 

용량이 큰 텍스트 또는 바이너리 파일을 분할하거나 재조립할 필요가 있을 때, 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 -l 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 명령을 같이 사용할 수도 있긴 한데, 굳이 이렇게 하지 않아도 큰 문제 없이 잘 합쳐지는 것 같다.

 

ls myfile_part* | sort | xargs cat > myfile_merged

 

 

Posted by 반달가면

댓글을 달아 주세요

샷컷(Shotcut) 기초2020. 10. 26. 11:40

 

무료 동영상 편집 프로그램인 샷컷(Shotcut)에서 타임라인(timeline)에 배치된 동영상/음성 등을 분할(split)하는 방법이다.

매우 간단한데, 분할하고자 하는 대상을 클릭하여 선택한 후에 분할하려는 지점을 클릭해서 재생위치(playhead)를 이동시킨다. 그런 후에 마우스 오른쪽 클릭으로 메뉴가 표시되도록 하여 "Split at Playhead"를 선택하면 분할된다.

 

겹침(오버랩, overlap)도 직관적이다. 대상을 클릭해서 겹치고자 하는 대상으로 드래그 하여 겹치면 서로 중첩되는 부분에 대해 겹침 효과가 적용된다.

 

Posted by 반달가면

댓글을 달아 주세요