Команда Awk для получения записей поиска с номером появления шаблона поиска - PullRequest
0 голосов
/ 23 декабря 2011
 awk 'FNR==NR { ! a[$0]++ ; next }
      { b[$0]++ }
      END {
            for (i in a) {
                for (k in b) {
                    if (a[i]==1 && i ~ k ) { print i }
                }
            }
      }' file1 file2

Приведенная выше программа-скрипт awk помогла мне получить критерии поиска из одного файла, и в соответствии с этим шаблоном поиска я могу получить запись из другого файла.Но из этого скрипта он берет уникальную поисковую запись, если один и тот же контент существует в файле дважды, а также выполняет поиск и печать только один раз.Я хочу, чтобы повторная запись также получала счетчик появления этой записи в файле.

1 Ответ

0 голосов
/ 23 декабря 2011

Из вашего поста я понял, что в массиве 'a' хранятся все записи, а в массиве 'b' хранятся все шаблоны поиска регулярных выражений.

Просто измените выражение if на:

if ( i ~ k ) { print i, a[i] } #a[i] prints the count of the record
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...