Задать вопрос
@HexUserHex

Вывести в bash только дубликаты строк из файлов?

Здраствуйте,
требуется вывести из двух файлов только строки которые имеются в обоих файлах

Пример содержимого файлов:
cat 1.txt 
11
22
33
33

cat 2.txt 
33
11
44


вот как пробую, в результате получаю только 33, в каталоге содержится только два .txt файла:
cat *.txt | uniq -d
33

подскажите что пропустил....
  • Вопрос задан
  • 913 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Redeve
Веб-макаке не хватит и 640гБ
подскажите что пропустил

sort?
$ cat *.txt | uniq -d
33
$ cat *.txt | sort | uniq -d
11
33

Можно ещё comm -12 <(sort 1.txt) <(sort 2.txt)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
sort <(sort -u 1.txt) <(sort -u 2.txt) |uniq -d
Ответ написан
trapwalker
@trapwalker
Программист, энтузиаст
Я бы предложил еще решение вроде такого:
py "set(open('1'))&set(open('2'))"
Но это уже скорее на питоне решение, а py в стандартном наборе не посавляется из коробки.
Кроме того, это решение не эффективно при больших файлах.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы