shell: параллельная обработка файлов
Apr. 17th, 2006 10:25 pmобработать множество файлов (*.txt) независимо, с ограниченной параллельностью, например, в 4 потока.
может, со временем, изобрету и другие.
# make -j4 -f =(cut)
%.txt.done: %.txt; process $< && touch $@
all: $(addsuffix .done,$(wildcard *.txt))
^D
#
num=0
for f in *.txt; do
process $i &
num=$[$num+1]
if [[ $num == 4 ]]; then
wait; num=$[$num-1]
fi
done
может, со временем, изобрету и другие.