bash: bestanden unzippen in directory

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Wtrdk
  • Registratie: Mei 2006
  • Laatst online: 11-03 21:30
Ik probeer met een find opdracht alle zip-bestanden in een directory te vinden en te unzippen in de directory waar ze in staan.
Echter krijg ik het niet voor elkaar.
find . -name '*.zip' -exec sh -c 'echo unzip -d "${1%.*}" "$1"' _ {} \;

Deze opdracht vindt alle zip-bestanden en pakt ze uit in een map met dezelfde naam, dus:
|_/test.zip
wordt
|_/test/test.txt
|_/test.zip

Ik probeer het nu met
find  -name '*.zip' -exec unzip -o -j {} \;

Maar deze opdracht pakt alles uit in '.', oftewel de directory waar ik het commando uitvoer.

Wat ik wil is dit:

/test.zip
wordt
|_/test.txt
|_/test.zip

ik hoop dat ik het duidelijk heb uitgelegd.

Alvast bedankt voor de hulp!

Acties:
  • 0 Henk 'm!

  • Thralas
  • Registratie: December 2002
  • Laatst online: 08:38
-execdir command {} +
       Like -exec, but the specified command is run from the subdirectory
       containing the matched file,  which is not normally the directory
       in which you started find.

Acties:
  • 0 Henk 'm!

  • Wtrdk
  • Registratie: Mei 2006
  • Laatst online: 11-03 21:30
Dat is 'm! Thanks!