Perl поиск уникальных строк и соответствующих им имен файлов - PullRequest
0 голосов
/ 03 июля 2019

Я использовал perl -ne '$h{$_}++; END {print grep { $h{$_} == 1 } %h}' <a.txt <b.txt, чтобы получить уникальные строки обоих файлов.Пока он печатает все уникальные строки этих двух файлов, я хочу, чтобы он напечатал соответствующее имя файла, который содержит эти уникальные строки.

Есть ли способ в команде perl сделать это?

psПростите простить мой плохой английский.Надеюсь, я все понял .:)

1 Ответ

2 голосов
/ 03 июля 2019

Вы можете сохранить имя файла из $ARGV. Вот пример, где я помещаю имя файла в другой хэш %n:

perl -nE 'chomp; $h{$_}++; $n{$_}=$ARGV; 
  END {say for map {"$n{$_}: $_"} grep { $h{$_} == 1 } keys %h}' a.txt b.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...