Minulla on hakemisto, jossa on useita kansioita, joista kukin sisältää .gz-tiedoston. Kuinka voin purkaa ne kaikki kerralla?

Tietoni näyttävät tältä

Kansioluettelo

A B C D 

Jokaisessa niistä on tiedosto nimellä

A a.out.gz B b.out.gz C c.out.gz D d.out.gz 

Kommentit

  • gunzip */*.gz?

vastaus

Tämä käyttää gunzip purkamaan kaikki kansion tiedostot ja saamalla loppuosan .out.gz

gunzip */*.out.gz 

Tämä ”silmukka” * kaikkien kansioiden läpi, joissa on pakattu tiedosto. Haluan lisätä esimerkin:

A a.out.gz B b.out.gz C c.out.gz D d.out.gz E e.out 

Yllä olevan komennon avulla a.out.gz b.out.gz c.out.gz d.out.gz puretaan kaikki, mutta se ei koskenut e.out koska sitä ei ole pakattu.

* Tätä kutsutaan globbing tai tiedostonimen laajennus . Haluat ehkä lukea lisää siitä täältä .

Kommentit

  • Mutta entä jos minulla on useita kansioita, joista kukin sisältää zip-tiedoston. Kuinka voin selata kaikkia kansioita?
  • */*.out.gz silmukkaa kaikki kansiot (se ' s */ osa)
  • @HoHoHo kuten mazs huomauttaa, tämä tekee " -silmukan ". Olen ' lisännyt ylimääräisen selityksen ja linkin sivulle, joka selittää käsitteen tarkemmin 🙂

Vastaa

find . -type f -name "*.gz" -execdir gunzip {} \; 

execdir-vaihtoehto etsiessään aiheuttaa ”etsi” – ”cd” jokaiseen hakemistoon vuorotellen ja suorittaa komennon exec (gunzip in tässä tapauksessa) ja sitten ”cd” takaisin cwd: hen

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *