: 20 grudnia 2010, 21:49
A jeśli chodzi o ten czas działania:
Kod: Zaznacz cały
wc -l plik.txt
10000 plik.txt
Kod: Zaznacz cały
head --lines=3 plik.txt
12-12-80
12-12-1754
12-12-1335
Kod: Zaznacz cały
time awk -F: 'BEGIN {FS=" "} {d[0]=0; split($1,d,"-"); if (d[3] <= 1974 && d[3] >= 1000) print $0}' plik.txt > NULL
real 0m0.056s
user 0m0.052s
sys 0m0.000s
Kod: Zaznacz cały
time perl -lne '/\d{1,2}-\d{1,2}-(\d{1,4})/;print if $1 >=1000 && $1 <= 1974' plik.txt > NULL
real 0m0.069s
user 0m0.064s
sys 0m0.004s
Kod: Zaznacz cały
time grep -e "^[^-]*-[^-]*-1[0-8][0-9][0-9]\|^[^-]*-[^-]*-19[0-6][0-9]\|^[^-]*-[^-]*-197[0-4]" plik.txt > NULL
real 0m0.077s
user 0m0.072s
sys 0m0.004s
Kod: Zaznacz cały
time (grep -e "^[^-]*-[^-]*-1[0-8][0-9][0-9]" plik.txt; grep -e "^[^-]*-[^-]*-19[0-6][0-9]" plik.txt; grep -e "^[^-]*-[^-]*-197[0-4]" plik.txt) > NULL
real 0m0.083s
user 0m0.072s
sys 0m0.012s