!/bin/bash cat xxxxx | perl -lane 'print $1 if /[0-9]+m(.+)s/' \ | awk '{print $1; sum+=$1} END { print "Avg = ",sum/NR }' echo end awk 자체에 필터 기능이 어느정도 있는 것으로 알고 있으나 perl을 주력으로 하는 나로서는 perl을 한번 거쳐서 원하는 숫자만 나오게 한 다음 그것을 awk로 평균내는 방향이 쉬운 것 같다.perl에 -lane을 붙이면 grep처럼 쓸 수 있는데... 알다시피 perl의 regular expression에서 match되는것은 숫자 변수가 붙으니까... 그래서, 결국엔 regexp에 맞춰서 match가 일어나면 print를 적절히 해주는 one liner가 된다. 아...