También puede simplemente usar el arepack
herramienta que forma parte del conjunto de herramientas atool. Suele ser un yum install atool
o apt install atool
. Es posible que también deba instalar el p7zip-full
y p7zip-rar
paquetes si aún no están instalados. Una vez que estén disponibles, simplemente puede hacer esto:
$ arepack -e -F zip *.7z
Esto convertirá todos los archivos .7z como archivos .zip. Aún deberá eliminar los archivos *.7z, pero eso se puede hacer así:
$ rm -f *.7z
Opciones adicionales de 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".
Utilice el siguiente script y ejecútelo desde el directorio donde se encuentra su .7z
los archivos son:
#!/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
Esto dejará su .7z
archivos donde están y crear .zip
archivos con el mismo nombre.
El script copia el .7z
archivos en el directorio temporal antes de extraerlos porque normalmente se eliminan después de descomprimir los archivos.
Mantuve el script lo más simple posible para que puedas descubrir fácilmente cómo funciona.
El script solo funcionará con .7z
archivos que no tienen espacios ni otros caracteres especiales en su nombre.