Все задачи

Однострочная фильтрация

11 Jun 2014

В файле хранится статистика по частоте слов в некотором тексте:

> head -n 20 file.in
      1 printed
      1 sole
      5 open
      4 separate
      1 almost
     10 some
      2 entire
      1 preferred
      1 theargument
      5 sysv
     47 foo
    116 to
      2 very
      1 archaic
     48 not
      8 returns
      1 crudely
     10 function
      1 conversion
      9 must

Программисту понадобилось отобрать слова, встречающиеся 10 раз и чаще, и при этом длиной от 3 до 8 символов включительно.

Получился вот такой однострочник:

> cat file.in | perl -ape 'next if $F[0] < 10; $l = length($F[1]); next if ($l<3||$l>8);' > file.out

Но все пошло не так, как рассчитывал программист…