2015-03-05 3 views
0

Команда «comm» Unix найдет общие/уникальные строки в двух файлах при условии, что эти два файла отсортированы по лексическим ордером.Comm с альтернативным порядком сортировки

Предположим, у меня есть два файла, отсортированные по «sort -nr». Есть ли комм-программа , которая будет работать над этими файлами?

Конечно, я всегда мог прибегать к файлам лексически, коммировать их и , а затем бросить лексически отсортированные версии, но это неэффективно.

Кажется, было бы легко написать комм-программу, которая делает это, , так что я предполагаю, что один существует?

ответ

0

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

Учитывая два файла all и even, содержащие обратные отсортированные число ожидали бы, это делает именно то, что:

comm -12 <(sort all) <(sort even) | sort -rn 
Смежные вопросы