답변:
-s로 충분하지 않습니까? zip -s를 사용하여 파일을 최대 크기의 파일로 분할 할 수 있습니다. 예 :
"zip -s 300m <2GB 파일>"은 다음을 생성합니다.
file.zip (300 mb, master file)
file.001.zip (300 mb)
file.002.zip (300 mb)
file.003.zip (300 mb)
file.004.zip (300 mb)
file.005.zip (300 mb)
file.006.zip (200 mb)
그런 다음 "unzip file.zip"은 모든 것을 압축 해제합니다.
;)
split
입력 파일 목록에서 사용하십시오 :-).
(테스트되지 않았으므로 정리를 위해 rm 명령을 포함 시켰습니다.)
ls *.csv > csvfiles
split -d -l30 - csvfiles < csvfiles
for i in csvfiles[0-9][0-9]; do
zip "$i.zip" -@ < "$i"
done
rm csvfiles
rm csvfiles[0-9][0-9]
split -C
( --line-bytes
)이 아닌 split -l
( --lines
)을 사용합니까? 하나의 아카이브에 몇 개의 CSV 파일이 있는지와 관련하여 더 예측 가능합니다.
file.z01 file.z02 ... file.zip
과unzip file.zip
직접 작동하지 않습니다 (내가 먼저 그들을 재결합 우편 -F를 사용합니다). 요청 된대로 "독립적 인"것은 아닙니다.