@3amunyk

В файл1 удалить строки из файл2?

Как в файл1 содержащим строки вида почта:имя:фамилия:возраст удалить те строки которые содержатся в файл2 где указана просто почта

Нашёл решение, но оно мне не нравится, слишком долгое, и записывает файл миллион раз - боюсь ссд угробит ))

for a in cat файл2; do sed -i -e "/$a/d" файл1; done
  • Вопрос задан
  • 367 просмотров
Пригласить эксперта
Ответы на вопрос 3
@abcd0x00
Как в файл1 содержащим строки вида почта:имя:фамилия:возраст удалить те строки которые содержатся в файл2 где указана просто почта

grep -f file2.txt -v file1.txt >output.txt
Ответ написан
Комментировать
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
join -v 1 -t: <(sort файл1) <(sort файл2)
вывод будет лексикографически отсортирован.

man join
man sort
Ответ написан
Комментировать
@3amunyk Автор вопроса
ругается вечно на подобные ошибки
join: /dev/fd/62:1474: без сортировки: 010203.:mouradfaniche@yahoo.fr
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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