Если файлы отсортированы, сделайте
comm -23 fileP.txt fileE.txt
comm
сравнивает два отсортированных файла и ищет общие для них строки. Например, учитывая этот файл цветов, имена которых начинаются с согласных:
blue green purple red white yellow
и этот список цветов, имена которых заканчиваются на гласные:
blue indigo orange purple white
команда comm colors1 colors2
выдает такой вывод:
blue green indigo orange purple red white yellow
где:
первый столбец содержит цвета, которые начинаются и заканчиваются согласными (в, colors1
но не colors2
), второй столбец содержит цвета, начинающиеся и заканчивающиеся гласными (в, colors2
но не colors1
), а третий столбец содержит цвета, которые начинаются с согласных и заканчиваются гласными (в обоих colors1
и colors2
). Для ваших файлов (показано в вашем вопросе), comm fileP.txt fileE.txt
производит
test@test.com:testtest test@test.com0:testtest0 test@test.com1:testtest1 test@test.com2:testtest2 test@test.com3:testtest3 test@test.com4:testtest4 test@test.com5:testtest5
Варианты немного не интуитивно понятны: -23
средства подавляют второй и третий столбцы, показывая только первый (строки, которые находятся в первом файле, но не во втором). Так,
$ comm -23 fileP.txt fileE.txt test@test.com1:testtest1 test@test.com4:testtest4
Обратите внимание, что это не будет работать правильно, если файлы не отсортированы. Если файлы не отсортированы, сортируйте их.