gawk には fork() 関数が用意されているのはご存知ですか? Perl の fork() 関数に似ており、複数の CPU コアを搭載するマシンで多重ループを回すような時には並列処理することができます。 まず、普通の awk スクリプトで多重ループを書いてみます。 #! /usr/local/bin/gawk -f # fork_1.awk BEGIN { max_i = 10; max_j = 1000000; for (i = 1; i <= max_i; i++) { for (j = 1; j <= max_j; j++) { print i * j; } } } つまり 10 x 1,000,000 回のループを回します。 $ gawk -f fork_1.awk > /dev/null gawk -f fork_1.awk > /dev/null 5.72s user 0