나는 일반적으로 Windows에서 여러 7zip 파일의 압축을 풀 때 7zip을 사용합니다. Linux에서 압축을 풀려면 여러 7zip 파일을 단일 zip 아카이브로 연결해야 한다는 내용의 여러 기사를 접했습니다.
- 이것이 필요한가요?
- 여러 개의 7zip 파일 중 첫 번째 파일만 지정할 수는 없나요?
제가 묻는 이유는 명령을 실행할 때 7zr e {name_of_first_archive}
첫 번째 아카이브의 압축만 풀기 때문입니다.
답변1
7z 분할 아카이브를 추출/압축 해제할 수 있으며 추출하기 전에 부분을 연결할 필요가 없습니다. 유일한 요구 사항은 아카이브에 다음 유형의 증분 확장이 있어야 한다는 것입니다..NNN(여기서 N=[0..9])부터 시작.001. 이는 아마도 7z를 사용하여 분할 아카이브를 생성할 때 아카이브의 각 부분 이름이 이런 방식으로 지정되기 때문일 것입니다. 그런 다음 첫 번째 아카이브에서 명령을 실행하기만 하면 됩니다.
[me home]$ ls
diveintopython3.pdf.7z.001 diveintopython3.pdf.7z.002 diveintopython3.pdf.7z.003
[me home]$ 7zr x diveintopython3.pdf.7z.001
7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)
Processing archive: diveintopython3.pdf.7z.001
Extracting diveintopython3.pdf
Everything is Ok
Size: 2598283 Compressed: 734003
답변2
글쎄, 분명히 당신은 할 수 없습니다. 이상하지만 여기까지입니다. 이 작은 스크립트는 원하는 작업을 수행합니다(아카이브의 확장자가 .7z라고 가정하고 그렇지 않은 경우 확장자를 변경하십시오).
for n in *7z; do 7zr x $n; done
'e' 플래그 대신 'x'를 사용하십시오. 'e'는 모든 파일을 현재 디렉터리로 추출하고 'x'는 원래 경로를 유지하기 때문입니다.
인생을 더 쉽게 만들기 위해 ~/.bashrc 파일에 다음 작은 기능을 추가할 수 있습니다.
function multi7z () {
for n in $@; do 7zr x $n; done
}
그런 다음 예상대로 여러 아카이브의 압축을 풀 수 있습니다.
$ multi7z *7z
또는
$ multi7z a.7z b.7z n.7z
편집: 여러 압축을 풀면 작동합니다.독립적인아카이브. 당신이 가지고 있다면하나아카이브가 여러 .7z 파일로 분할된 경우 대신 @don_crissti의 답변을 사용하세요.