NFsec Logo

Rozpakowywanie wielu archiwów

18/05/2007 w Techblog Brak komentarzy.  (artykuł nr 19, ilość słów: 177)

K

ażdemu zdarza się czasami posiadać wiele archiwów ZIP, czy RAR, które trzeba rozpakować, jednak robienie tego ręcznie na kilkudziesięciu, czy kilkuset plikach może być nieco męczące. Zadanie to ułatwić nam może bash. Aby rozpakować wszystkie pliki z danego katalogu, wyświetlimy najpierw ich listę, za pomocą konsolowego polecenia ls, zapiszemy ją jako tablicę i na każdym z jej elementów wykonamy komendę, służącą do rozpakowywania z automatycznym nadpisywaniem (abyśmy nie musieli cały czas kontrolować ekranu).

Poniżej prosty skrypt, który obrazuje powyższe założenia:

#!/bin/bash
IFS=''
PLIKI=`ls -1 *.zip *.zip` # listuje pliki zip i ZIP 
# wyświetlając wyniki w osobnych liniach
for i in $PLIKI # pętla dla każdego elementu w tablicy
do
echo $i # wyświetlenie elementu
unzip -o ./$i # rozpakowanie pliku z nadpisaniem
done

1. Metoda alternatywna (zasugerował Marcin Badurowicz & Piotr Hosowicz):

#!/bin/bash
for x in *.[zZ][iI][pP]
do
echo $x
unzip -o ./$x
done

2. Metoda alternatywna (zasugerował Piotr Hosowicz):

ls -1 *.[zZ][iI][pP] | xargs -l unzip -o

3. Metoda alternatywna (zasugerował Michał Górny):

find -maxdepth 1 -name '*.[zZ][iI][pP]' -exec unzip -o '{}' ';'

Więcej informacji: blog Adama Brożyńskiego: dunder.jogger.pl

Kategorie K a t e g o r i e : Techblog

Tagi T a g i : , , ,

Zostaw odpowiedź.

Musisz być zalogowany by móc komentować.