10 000 100 000 , , awk
, , 10 000 :
find . -name \*.txt -exec awk ....
, iMac 5 .
, , Intel -, Apple , GNU Parallel.
, , - , 4 8 Mac, , :
parallel --tag -q awk 'BEGIN{max=$2;d=$1} $2>max {max=$2;d=$1} END{print d,max}' ::: *.txt
1 22 , 4 , - ! ... , awk
, 10 000 awks
, , 8 . , 8 awk
, . , GNU Parallel , , -X
:
parallel -X -q gawk 'BEGINFILE{max=$2;d=$1} $2>max {max=$2;d=$1} ENDFILE{print FILENAME,d,max}' ::: *.txt
49 , , gawk
ENDFILE
/BEGINFILE
, --tag
, awk , .
GNU Parallel gawk Mac homebrew. - . macOS , , .
homebrew GNU Parallel
brew install parallel
gawk
brew install gawk
, , GNU Parallel - Perl script, macOS - Perl . , :
(wget -O - pi.dk/3 || curl pi.dk/3/ ) | bash
, 25 , 262 144 , , . , stdin
:
find . -name \*.txt -print0 | parallel -0 -X -q gawk 'BEGINFILE{max=$2;d=$1} $2>max {max=$2;d=$1} ENDFILE{print FILENAME,d,max}'