Suppongo che tu voglia solo scansionare la cartella corrente (e non tutte le altre cartelle sottostanti):
for rarfile in *.rar; do
unrar x "$rarfile"
done
La cosa fondamentale è mettere il nome del file in "" quando lo si passa a unrar
per evitare problemi con gli spazi nel nome.
Ora se vuoi che questo script sia eseguibile, puoi fare quanto segue
cd ~
mkdir .bin
echo 'PATH=$PATH:$HOME/.bin' >> .profile
echo 'export PATH' >> .profile
. ./.profile
nano .bin/extract_all_rars
Questo ti dà un semplice editor per i file di testo, i comandi essenziali sono visualizzati in basso. Tipo
#!/bin/bash
seguito dal blocco di codice in alto, salvare il file ed uscire. Quindi (di nuovo nella shell) digita
chmod +x .bin/extract_all_rars
per contrassegnarlo come eseguibile (quindi la shell lo riconosce come un comando).
La cancellazione automatica ha un avvertimento: unrar
non restituisce uno stato di errore se le cose vanno male, quindi potresti perdere i tuoi file rar. Se questo non è un problema, aggiungendo
rm -f "$rarfile" ${rarfile%%.rar}.r{0..9}{0..9}
dopo che unrar
nel ciclo sopra farà il lavoro. Il secondo parametro viene utilizzato per creare tutti i suffissi .r04
eliminando dapprima il suffisso ( ${rarfile%%.rar}
) e quindi ripetendo da 0 a 9 due volte per ottenere tutte le combinazioni possibili (esegui echo foo{0..9}
in bash per vedere come funziona) . Poiché la maggior parte di questi nomi di file non esiste, ho aggiunto -f
come opzione per evitare messaggi di errore.
Se sei abbastanza sicuro che nessun altro file con un suffisso .rXX
si trovi nella stessa directory, un semplice
rm -${rarfile%%.rar}.r??
fa anche il trucco.
Se non hai già rar
/ unrar
:
- Scarica RAROSX 4.2 da rarlab.com
- Nel Finder, apri
~/Downloads
e fai doppio clic sul file scaricato per decomprimere. Verrà creata una cartella rar
-
Apri Terminale ed esegui i seguenti comandi
cd ~/Downloads/rar
sudo install -d rar unrar /usr/local/bin
per installare i file binari (eseguibili)
-
Dobbiamo anche assicurarci che la shell in seguito trovi i binari
cd ~
echo 'PATH=$PATH:/usr/local/bin' >> .profile
echo 'export PATH' >> .profile
. ./.profile