[unpkg] Despachetați ușor pe consolă

Trebuie să recunosc că sunt leneș să despachetez pe consolă. Nu am învățat niciodată 100% care sunt parametrii sau opțiunile care trebuie trecute la tar "ca să pot despacheta un bzip2" sau alt fișier, dar căutând în urmă cu câteva zile am venit la acest forum și a fost o postare pe care am întâmplat-o a luat-o să o aplice și, ca rezultat al acesteia, să facă o altă modificare, reutilizând întotdeauna, reinventând niciodată și mulțumind celui care a adus contribuția. Mulțumesc, crunchbang forum.

În post am spus cum să creez o funcție în dvs. care să descomprime toate tipurile de fișiere pe care le-a recunoscut, dar care mi s-a părut oarecum complicat pentru mine, și mai ales pentru utilizatorul „novice”, așa că am decis să fac ceva mai ușor, un script care fac aceeași funcție și nu este atât de dificil de înțeles, la sfârșitul poveștii, despre ce este postarea sau nu? xD

În primul rând, trebuie să știm și să știm care sunt fișierele compactate care sunt cele mai utilizate astăzi. Candidații sunt „.tar, .bzip, .rar, .zip, .7z și .Z”, precum și combinațiile lor în cazul în care există „.tar.bz2, .tar.gz” doar pentru a menționa câteva exemple .

De asemenea, trebuie să știm cum să le instalăm, indiferent de distribuția GNU / Linux pe care o folosiți. În cazul meu folosesc Debian se face după cum urmează:
apt-get install tar bzip2 gzip unrar rar p7zip-full

Acum, avem deja ingredientele, trebuie doar să le amestecăm în proporția corectă pentru a obține placa xD. Am numit scriptul unpkg ", este găsit sau îl voi lăsa în / usr / bin /" și treaba lui este de a dezarhiva tot ceea ce îi transmitem ca parametri, adică îi poate da 2 sau mai multe fișiere și o va face dezarhivați-le fără niciun fel de problemă, ceva de genul:

unpkg onion_omelette.rar breakfast_cofee.tar.bz2 cook_recipes.7z

Să vedem apoi scenariul:
[cod] #! / bin / bash
pentru pachet în $ *; do
dacă [-f $ pkg]; atunci
caz $ pkg în
* .tar.bz2) tar xvjf $ pkg ;;
* .tar.gz) tar xvzf $ pkg ;;
* .bz2) bunzip2 $ pkg ;;
* .rar) rar x $ pkg ;;
* .gz) gunzip $ pkg ;;
* .tar) tar xvf $ pkg ;;
* .tbz2) tar xvjf $ pkg ;;
* .tgz) tar xvzf $ pkg ;;
* .zip) unzip $ pkg ;;
* .Z) decomprimă $ pkg ;;
* .7z) 7z x $ pkg ;;
*) echo "'$ pkg' este un fișier ambalat? Nu știu ce să fac, ieșind. » ;;
ESAC
fi
făcut
[/cod]

Își dau seama? Nu a fost nevoie să se explice ce a făcut dosarul. Așadar, băieți, ne vedem în următoarea postare aici.