Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Как из файла А удалить строки, которые есть в файле B.
цитата
22/04/12 в 17:55
 greg green
Как из файла А удалить строки, которые есть в файле B, помогите плиз.
Все равно, серверный вариант или десктопный.

Вот такое нашел вроде
cat fileA.txt | grep -xv -f fileB.txt > result.txt
Но на серваке вылетает, говорит memory is exhausted

fileA.txt - 19000 строк
fileB.txt - 15000 строк

Спасибо.
цитата
22/04/12 в 21:08
 Lexikon
По алгоритму скорее всего так: Читаем первую строку в файле "B" ищем эту строку в файле "A" если строка есть удаляем и работаем со второй строкой файла "B", если нет то уже работаем со второй строкой файла "B" и т.д., но это массивами, х.з. как в нагрузку будет.
Попробовал бы написать код, но неть возможности. icon_confused.gif
цитата
22/04/12 в 21:35
 Adulter
TextPipe Pro
цитата
01/05/12 в 13:01
 Daniel.K.Ocean
Код:
<?php
$a = file('A.txt', FILE_SKIP_EMPTY_LINES);
$b = file('B.txt', FILE_SKIP_EMPTY_LINES);
file_put_contents('C.txt', array_diff($a, $b));
?>
цитата
01/05/12 в 13:51
 arachnO
for i in `cat file1`; do echo $i|grep -v -f file2; done


Эта страница в полной версии