Estrarre molti file in un colpo solo

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
niletnemo
Linux 1.x
Linux 1.x
Messaggi: 122
Iscritto il: mar 3 ago 2004, 0:00

Estrarre molti file in un colpo solo

Messaggio da niletnemo »

Ciao a tutti,
a volte mi capita di avere molti file zip (o rar o tar.gz ...) in una directory e vorrei avere la possibilità di estrarli tutti in un colpo solo, depositando i file estratti nella stessa dir. Sapreste aiutarmi? Magari si potrebbe fare uno scriptino, o esiste già una cosa del genere?
Ciao e grazie

Avatar utente
Darathorn
Linux 2.x
Linux 2.x
Messaggi: 315
Iscritto il: dom 28 nov 2004, 0:00
Nome Cognome: Francesco Braga
Slackware: 12.1
Kernel: 2.6.24.5-smp
Desktop: fluxbox
Località: Rezzato
Contatta:

Messaggio da Darathorn »

GNU nano 2.0.6 File: decomp.sh~

#!/bin/bash
while [ 1==1 ]; do
clear
echo
echo " a) Scompatta archivi tar.bz2"
echo " b) Scompatta archivi tar.gz"
echo " c) Scompatta archivi zip"
echo " d) Scompatta archivi rar"
echo " q) Quit"
echo
read -s -n1 -p "Choose..." CHOICE

case "$CHOICE" in
"a")
mkdir file_tar_bz2
for file in *.tar.bz2; do
mv $files file_tar_bz2
cd file_tar_bz2
tar xfvj $file
cd ..
done
;;
"b")
#mkdir $HOME/file_tar_gz
for file in *.tar.gz; do
#mv $files file_tar_gz
#cd file_tar_gz
tar xfvz $file
#cd ..
done
;;


"d")
for file in *.zip; do
unrar x $file
done
;;

"q")
echo
exit
;;

esac

done

Avatar utente
niletnemo
Linux 1.x
Linux 1.x
Messaggi: 122
Iscritto il: mar 3 ago 2004, 0:00

Messaggio da niletnemo »

Grazie mille!!!
Provo subito...
(Ammazza che velocità di risposta)

Avatar utente
niletnemo
Linux 1.x
Linux 1.x
Messaggi: 122
Iscritto il: mar 3 ago 2004, 0:00

Messaggio da niletnemo »

C'ho aggiunto la voce per i file zip:

#!/bin/bash
while [ 1==1 ]; do
clear
echo
echo " a) Scompatta archivi tar.bz2"
echo " b) Scompatta archivi tar.gz"
echo " c) Scompatta archivi zip"
echo " d) Scompatta archivi rar"
echo " q) Quit"
echo
read -s -n1 -p "Choose..." CHOICE

case "$CHOICE" in
"a")
mkdir file_tar_bz2
for file in *.tar.bz2; do
mv $files file_tar_bz2
cd file_tar_bz2
tar xfvj $file
cd ..
done
;;
"b")
#mkdir $HOME/file_tar_gz
for file in *.tar.gz; do
#mv $files file_tar_gz
#cd file_tar_gz
tar xfvz $file
#cd ..
done
;;

"c")
for file in *.zip; do
unzip $file
done
;;

"d")
for file in *.rar; do
unrar x $file
done
;;

"q")
echo
exit
;;

esac

done


(adesso dovrebbe funzionare)

Rispondi