gzip
은 하나의 파일 만 압축 할 수 있습니다. 여러 개의 파일을 하나의 아카이브에 결합하려면 tar
이 필요하며 그 중 하나는 gzip
으로 압축 할 수 있습니다 (선택 사항). 그냥 압축 파일을 병합 할 경우이 같은 것을 사용할 수 있습니다
maxnum=$1
i=1
j=0
for f in *.gz; do
tar rf archive_$j.tar $f
if [ $i -eq $maxnum ]; then
i=1
j=$((j+1))
fi
done
압축 된 소스 파일을 포함하는 압축 tar 파일을 생성 할 것이다.
압축되지 않은 소스 파일을 포함하는 압축 된 tar 파일을 생성하려는 경우 압축 된 tar 파일을 업데이트 할 수 없기 때문에 위의 방법은 작동하지 않습니다. 당신이 gunzip
결과 파일은 당신이 하나를 얻을 수 있습니다 그러나 때,
maxnum=$1
i=1
j=0
flist=
for f in *.gz; do
gunzip $f
flist="$flist $(basename $f .gz)"
if [ $i -eq $maxnum ]; then
tar czf archive_$j.tar.gz --remove-files $flist
i=1
j=$((j+1))
flist=
fi
done
시도한 내용을 포함하여 질문을 편집하십시오. 행운을 빕니다. – shellter
원래 큰 파일을 작은 파일로 분할하는 한 가지 방법은 다음과 같습니다. http://en.wikipedia.org/wiki/Split_(Unix) – Bernhard
@shellter and Brian : 죄송합니다. 쉘 스크립팅에 능숙하지 않습니다. – Amar