Sunday, February 28, 2010

큰 파일 나누기

질문 : 용량이 커서 DVD하나에 다 못굽는 파일을 4기가 정도 크기로 자르고 싶은데, 어떻게 하면 되는가?
답1 : 여러 볼륨의 tar로 나눠 저장한다 .. 방법은 나중에 정리
답2 : split Unix command 를 사용한다 (tar 등을 쓰지 않는 방법)

예 :
test.AVI 라는 100메가짜리 동영상 파일을 30메가 단위로 자르고 싶다면 :
split -b 30000000 test.AVI test_
이렇게 하면 다음과 같이 4개의 파일로 나뉜다.
test_aa
test_ab
test_ac
test_ad
이들을 다시 합치려면
cat test_a[a-d] > test.AVI
하면 된다.

예(DVD에 구울 수 있는 용량으로 나누는 예) :
다음과 같이 split 한 후 구워서
split -b 4200000000 aBigMovieFile.mkv aBigMovieFile.mkv_
자른 조각들을 다시 원래 파일로 합칠때는 다음과 같이 한다.
cat aBigMovieFile.mkv_a[a-z] > aBigMovieFile.mkv

부연 :
다음과 같이 해도 되고
cat test_aa test_ab test_ac test_ad > test.avi
다음과 같이 해도 된다. 즉 [] 사용은 입력의 편이를 위한 것일 뿐이다.
cat test_a[a-b] test_a[c-d] > test.avi
그런데 잘못해서 cat test_aa test_ab test_ac test_ad 에서 파일명을 잘못 적거나 하면
원래대로 돌아오지 않게 된다. 따라서 원본파일의 용량을 파일명에 적어놓는것도 좋은 방법일것 같다.

설명 :
Split 사용법 :
split -b 22 newfile.txt new
would split the file "newfile.txt" into three separate files called newaa, newab and newac each file the size of 22.

레퍼런스 :
Can you divide big file into smaller parts?
Linux / Unix split command

No comments:

Post a Comment