Как распаковать множество gz-файлов в 12 потоков

Dec 15, 2010 11:43



cat > Makefile <

PS. вместо gunzip в цель $(FILES) можно подставить любую другую команду, а в переменной FILES передать нужные файлы - команда для каждого файла будет вызвана отдельно, причем одновременно будет выполняться не более заданного числа процессов (ключ -j)

UPD. еще варианты:
1. http://poige.livejournal.com/584920.html - более универсальный Makefile:

.PHONY: $(FILES)

all: $(FILES)

$(FILES):
$(DO) "$@"

Соответственно, использование, например:

make -j5 -f ~/Makefile DO=flac FILES='*.wav'

2. xargs! (https://twitter.com/mkrentovskiy/status/242594809913700352 + http://poige.livejournal.com/584920.html?thread=3846360#t3846360)

find . -name \*.gz | xargs -n1 -P12 gunzip

multithreading, tips

Previous post Next post
Up