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