GNU/Linux >> Tutoriels Linux >  >> Linux

Décompressez tous les fichiers dans un répertoire

décompressez *.zip, ou s'ils sont dans des sous-dossiers, alors quelque chose comme

find . -name "*.zip" -exec unzip {} \;

Insérez simplement quelques guillemets pour échapper au caractère générique :

unzip "*.zip"

Cela fonctionne en bash, selon ce lien :

décompressez \*.zip


Le script shell ci-dessous extrait tous les fichiers zip du répertoire actuel dans de nouveaux répertoires avec le nom de fichier du fichier zip, c'est-à-dire :

Les fichiers suivants :

myfile1.zip
myfile2.zip 

Sera extrait vers :

./myfile1/files...
./myfile2/files...

Script shell :

#!/bin/sh
for zip in *.zip
do
  dirname=`echo $zip | sed 's/\.zip$//'`
  if mkdir "$dirname"
  then
    if cd "$dirname"
    then
      unzip ../"$zip"
      cd ..
      # rm -f $zip # Uncomment to delete the original zip file
    else
      echo "Could not unpack $zip - cd failed"
    fi
  else
    echo "Could not unpack $zip - mkdir failed"
  fi
done

Gist source

Utilisation :

cd /dir/with/zips
wget -O - https://www.toptal.com/developers/hastebin/suvefuxuxo.bash | bash

Linux
  1. Travailler avec des fichiers ZIP sous Linux

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

  3. Créez un dossier dédié pour chaque fichier zip dans un répertoire et extrayez les fichiers zip

  4. Comment changer toutes les occurrences d'un mot dans tous les fichiers d'un répertoire

  5. Trouver tous les fichiers de zéro octet dans le répertoire et les sous-répertoires

Comment décompresser des fichiers sous Linux

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

Comment compresser et décompresser des fichiers sur Ubuntu

Comment décompresser des fichiers zip sous Linux

Afficher tous les fichiers du répertoire d'un site Web ?

Supprimer tous les fichiers aléatoires sauf 1000 dans un répertoire