Wpis z mikrobloga

Dużo zipów do rozpakowania (w setkach tysięcy), chciałbym to rozpakować rzecz jasna wykorzystując wszystkie wątki procesora. Z tym, że paczki muszą być wypakowane do folderów o nazwie paczki. Wyczarowałem coś takiego

parallel --gnu $(t=$(ls | grep .zip | head -n 1); if [ ! grep -q "$t" temp/zips ]; then unzip $t -d ${t:0:-4}; fi)
ale nie działa. Jakieś porady? ( ͡° ͜ʖ ͡°)
Może być też rozwiązanie pod pytonga.
#linux #bash #python
  • 3
@ppidd_: w pytongu to jest takie coś glob. Zrób sobie globem tablice ścieżek do zipów i później jeden for. W nim dla każdej ścieżki odpalasz nowy subprocess z komendą unzip jeśli liczba aktywnych procesów, jest mniejsza niż chcesz maksymalnie lub czekasz w przeciwnym razie. Subprocess odpala się zawsze równolegle do innego. System powinien to już sobie wątkować. Chyba, że mówię głupotę, ale ja bym tak to robił.