Mám adresář, kde je více složek, každá ze složek obsahuje soubor .gz. Jak je mohu všechny rozbalit najednou?

Moje data vypadají takto

Seznam složek

A B C D 

V každém z nich je soubor jako

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

Komentáře

  • gunzip */*.gz?

Odpověď

Toto používá gunzip rozbalte všechny soubory ve složce a použijte koncovku .out.gz

gunzip */*.out.gz 

Tím se „smyčka“ * prostřednictvím všech složek, které mají v sobě soubor se zipem. Dovolte mi přidat příklad:

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

Pomocí výše uvedeného příkazu a.out.gz b.out.gz c.out.gz d.out.gz všechny rozbaleny, ale nedotkne se e.out protože není zazipován.

* Tomuto se říká globbing nebo rozšíření názvu souboru . Možná si o tom přečtete zde .

Komentáře

  • Ale co když mám více složek, z nichž každá obsahuje zip soubor. Jak mohu procházet všechny složky?
  • */*.out.gz provede smyčku všech složek (' s */ část)
  • @HoHoHo, jak poukazují bludiště, " smyčka ". Přidal jsem ' nějaké další vysvětlení a odkaz na stránku, která tento koncept dále vysvětluje 🙂

Odpověď

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

možnost execdir k vyhledání příčin „find“ na „cd“ v každém adresáři a spuštění příkazu exec (gunzip v v tomto případě) a poté „cd“ zpět na cwd

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *