Potresti anche usare semplicemente arepack
strumento che fa parte della suite di strumenti atool. Di solito è un yum install atool
o apt install atool
. Potrebbe anche essere necessario installare p7zip-full
e p7zip-rar
pacchetti se non sono già installati. Una volta disponibili, puoi semplicemente fare questo:
$ arepack -e -F zip *.7z
Questo convertirà tutti i file .7z come file .zip. Dovrai comunque eliminare i file *.7z, ma puoi farlo semplicemente così:
$ rm -f *.7z
Opzioni arepack aggiuntive
Options:
-e, --each execute command above for each file specified
-F, --format=EXT override archive format (see below)
-O, --format-option=OPT give specific options to the archiver
-D, --subdir always create subdirectory when extracting
-f, --force allow overwriting of local files
-q, --quiet decrease verbosity level by one
-v, --verbose increase verbosity level by one
-V, --verbosity=LEVEL specify verbosity (0, 1 or 2)
-p, --page send output through pager
-0, --null filenames from standard in are null-byte separated
-E, --explain explain what is being done by atool
-S, --simulate simulation mode - no filesystem changes are made
-o, --option=KEY=VALUE override a configuration option
--config=FILE load configuration defaults from file
Archive format (for --format) may be specified either as a
file extension ("tar.gz") or as "tar+gzip".
Usa il seguente script ed eseguilo dalla directory in cui si trova .7z
i file sono:
#!/bin/bash
TMPDIR=tempdir_$$
for x in `ls *.7z`; do
mkdir $TMPDIR
cd $TMPDIR
cp ../$x .
p7zip -d $x
zip -r ../${x%.7z}.zip *
cd ..
rm -rf $TMPDIR
done
Questo lascerà il tuo .7z
file dove si trovano e creare .zip
file con lo stesso nome.
Lo script copia .7z
file nella directory temporanea prima di estrarli perché normalmente vengono eliminati dopo la decompressione dei file.
Ho mantenuto la sceneggiatura il più semplice possibile in modo che tu possa facilmente capire come funziona.
Lo script funzionerà solo con .7z
file che non hanno spazi o altri caratteri speciali nel loro nome.