Как объединить два файла, чтобы одинаковые строки не повторялись? - PullRequest
0 голосов
/ 05 января 2019

Допустим, у меня есть два таких файла:

File1: A B C

File2: D C B

Файл результата должен выглядеть так: A B C D (порядок не имеет значения).

Я мог бы погуглить, если бы точно знал имя этого механика (вероятно, он должен был быть, на мой взгляд, он выглядит как ИЛИ). Использование команды linux merge/cat file1 file2 > file3 выводит каждую строку, подобную этой, A B C D C B, но страницы руководства этих двух команд не упоминают ничего полезного для этой цели. Мне бы хотелось иметь элегантное решение, такое как [command] [parameter] file1 file2 > file3, так как я могу написать для этого скрипт bash, но это кажется излишним.

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Если вам не нужно сортировать вывод, вы можете пропустить этот шаг:

awk '{a[$0]} END {for (key in a) print key;}' file[12]
0 голосов
/ 05 января 2019

Это объединит, затем отсортирует, затем удалит повторяющиеся строки:

LC_ALL=C sort -u input1.txt input2.txt > output.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...