LINUX.ORG.RU

Shell: как сравнить два списка (в файлах)?


0

0

Есть два списка в файлах:

# file1.txt
item1
item2
item3

#file2.txt
item2
item3
item4

Нужно получить 3ий файл где бы содержалось:
1) только то что есть в первом или
2) только то что во втором или
3) что у них общего
(всего 3 подзадачи)

Выходной файл тоже должен быть в таком же формате -
слово в каждой строчке.

P.S. Есть идея что diff+sed как-то могут помочь,
но как пока не знаю.


diff file1.txt file2.txt > df.txt

1) только то что есть в первом
cat df.txt | grep '^< ' | cut -c 3- > pec1.txt

2) только то что во втором
cat df.txt | grep '^> ' | cut -c 3- > pec2.txt

3) что у них общего
diff file1.txt pec1.txt | grep '^< ' | cut -c 3-

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.