GNU/Linux >> Tutoriels Linux >  >> Linux

Recompressez les fichiers 7z pour compresser les fichiers sous Linux

Vous pouvez aussi simplement utiliser le arepack outil qui fait partie de la suite d'outils atool. C'est généralement un yum install atool ou apt install atool . Vous devrez peut-être également installer le p7zip-full et p7zip-rar packages s'ils ne sont pas déjà installés. Une fois ceux-ci disponibles, vous pouvez simplement faire ceci :

$ arepack -e -F zip *.7z

Cela convertira tous les fichiers .7z en fichiers .zip. Vous devrez toujours supprimer les fichiers *.7z, mais cela peut être fait simplement comme ceci :

$ rm -f *.7z

Options arepack supplémentaires

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".

Utilisez le script suivant et exécutez-le à partir du répertoire où votre .7z les fichiers sont :

#!/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

Cela laissera votre .7z fichiers où ils se trouvent et créer .zip fichiers portant le même nom.

Le script copie le .7z fichiers dans le répertoire temporaire avant de les extraire car ils sont normalement supprimés après la décompression des fichiers.

J'ai gardé le script aussi simple que possible afin que vous puissiez facilement comprendre comment cela fonctionne.

Le script ne fonctionnera qu'avec .7z les fichiers qui n'ont pas d'espaces ou d'autres caractères spéciaux dans leur nom.


Linux
  1. Comment décompresser des fichiers sous Linux (avec exemples)

  2. Comment archiver des fichiers et des répertoires sous Linux [Partie 2]

  3. Comment compresser plusieurs fichiers sous Linux

  4. Travailler avec des fichiers ZIP sous Linux

  5. Apprenez à compresser et à décompresser des fichiers sous Linux et à devenir un maître Zip

Trouver des fichiers volumineux sous Linux

Comment compresser des fichiers et des répertoires sous Linux

Commande Rm sous Linux

Comment décompresser des fichiers zip sous Linux

Commande ls sous Linux/UNIX

Comment compresser un fichier sous Linux