Můžete také jednoduše použít arepack
nástroj, který je součástí sady nástrojů atool. Obvykle je to yum install atool
nebo apt install atool
. Možná budete také muset nainstalovat p7zip-full
a p7zip-rar
balíčky, pokud ještě nejsou nainstalovány. Jakmile budou k dispozici, můžete jednoduše provést toto:
$ arepack -e -F zip *.7z
Tím se všechny soubory .7z převedou na soubory .zip. Stále budete muset smazat soubory *.7z, ale to lze provést jednoduše takto:
$ rm -f *.7z
Další možnosti arepack
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".
Použijte následující skript a spusťte jej z adresáře, kde máte .7z
soubory jsou:
#!/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
Tím zůstane vaše .7z
soubory, kde jsou, a vytvořte .zip
soubory se stejným názvem.
Skript zkopíruje .7z
soubory do dočasného adresáře před jejich extrahováním, protože se normálně po dekomprimaci souborů smažou.
Skript jsem ponechal co nejjednodušší, abyste mohli snadno zjistit, jak to funguje.
Skript bude fungovat pouze s .7z
soubory, které nemají ve svém názvu mezery ani jiné speciální znaky.