Skip to main content

Unzip o Unrar Molti file contemporaneamente in Linux

Unzip o Unrar Molti file contemporaneamente in Linux

Geoffrey Carr

Se hai una directory con dozzine di file zippati o rar, puoi eseguire un singolo comando per decomprimerli tutti in un unico passaggio, grazie alla potenza della shell bash.

Per questa attività, useremo la struttura di comando del ciclo per bash. Sostituire con un nome variabile, e con un comando che emette un elenco o un elenco esplicito.

for in do command $;done

Puoi eseguirlo su una sola riga con questa sintassi invece:

for in ;do command $;done

Quindi, se vuoi rimuovere un elenco di file, puoi usare questo comando. Non hai necessariamente bisogno delle virgolette, ma aiuta quando i nomi dei file hanno spazi o qualcosa di simile in loro.

for f in *.rar;do unrar e “$f”;done

Se si desidera utilizzare 7zip per estrarre un elenco di file:

for f in *.001;do 7z e “$f”;done

O se volevi decomprimere un elenco di file:

for f in *.zip;do unzip “$f”;done

Puoi anche concatenare i comandi se lo desideri. Ad esempio, se tutti i file zip contenevano file .txt e volevi decomprimerli e spostare i file decompressi in un'altra directory:

for f in *.zip;do unzip “$f”;done; for f in *.txt;do mv “$f” /myfolder/;done

La shell bash è così incredibilmente potente ... questo non tocca nemmeno il potere, ma dovrebbe darti una buona idea di ciò che è possibile.

Link
Plus
Send
Send
Pin