Есть ли способ рассчитать время процесса?
Да. Просто добавьте команду time
перед вашим кодом, и она вернет, сколько времени это заняло. Сделай это для каждого.
time awk '{print $1,$3,$4,$5,$6}' input.txt
time cut --delimiter=' ' --fields=1,3-6 input.txt
При небольшом профилировании это выглядит как cut
, только едва выигрывает в этом сценарии. Это все еще довольно впечатляющее время для awk
, учитывая, насколько оно способнее, чем cut
.
вырезано
$ time for i in {1..1000}; do cut --delimiter=' ' --fields=1,3-6 >/dev/null <<<"one two three four five six seven"; done
real 0m4.074s
user 0m0.496s
sys 0m2.799s
AWK
$ time for i in {1..1000}; do awk '{print $1,$3,$4,$5,$6}' >/dev/null <<<"one two three four five six seven"; done
real 0m4.511s
user 0m0.728s
sys 0m3.165s