GNU/Linux >> Znalost Linux >  >> Linux

Rozbalte všechny soubory v adresáři

rozbalte *.zip, nebo pokud jsou v podsložkách, tak něco jako

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

Stačí zadat několik uvozovek, aby se zástupný znak vyhnul:

unzip "*.zip"

Funguje to v bash, podle tohoto odkazu:

rozbalte \*.zip


Skript shell níže extrahuje všechny soubory zip v aktuálním adresáři do nových adresářů s názvem souboru zip, tj.:

Následující soubory:

myfile1.zip
myfile2.zip 

Bude extrahováno do:

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

Skript prostředí:

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

Shrnutí zdroje

Použití:

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

Linux
  1. Příkaz pro komprimaci více adresářů do jednotlivých souborů ZIP?

  2. Jak zip/rozbalit soubory/složky na Centos?

  3. Práce se soubory ZIP v Linuxu

  1. Naučte se, jak komprimovat a rozbalit soubory v Linuxu a stát se Zip Masterem

  2. Jak nastavit heslo pro soubory ZIP s příkazem ve všech operačních systémech?

  3. Vytvořte vyhrazenou složku pro každý soubor zip v adresáři a extrahujte soubory zip

  1. linuxový příkaz k vyprázdnění všech souborů v adresáři

  2. Jak chown/chmod všechny soubory v aktuálním adresáři?

  3. Zobrazit všechny soubory v adresáři webu?