Просмотр полной версии : Нужен скрипт сравнения файлов
Нужен скрипт сравнения файлов и запись уникальной информации в другой файл( есть 2 файла их нужно сравнить дубликат удалять, чего нету добавлять)
Нужен скрипт сравнения файлов и запись уникальной информации в другой файл( есть 2 файла их нужно сравнить дубликат удалять, чего нету добавлять)
Так вот код навскидку:
<?php
$file1=file_get_content('file1.txt');
$file2=file_get_content('file2.txt');
if(md5($file1)===md5($file2))unlink('file2.txt');
?>Сравнивает два файла на основе контрольной суммы созданной с помощью md5 если контрольная сумма одинакова второй файл удаляецо...
Ну а если ты имел ввиду создания общего файла(как то так) из двух почти одинаковых то тут надо глянуть как эти файлы выглядят.
Конкретная семантика. Универсального скрипта не существует.
Это два файла на каждой строчке есть какоето значение напиример(кига1
книга2 каждая запись на отдельной строчки)
2 файла слить в один, отсортировать, дублирующиеся строки удалить, на shell это примерно так cat file.txt | sort | uniq
наиболее универсален, но бесполезен, если порядок строк в файле имеет значение
2 файла слить в один, отсортировать, дублирующиеся строки удалить, на shell это примерно так cat file.txt | sort | uniq
наиболее универсален, но бесполезен, если порядок строк в файле имеет значение
можно по подробнее?! эта команда
cat file.txt | sort | uniq
куда сюда второй файл пихать? и чутка о shell? ЧТО ЭТО? :confused:
AkyHa_MaTaTa
28.11.2007, 16:17
Shell - командный интропретатор(в основном bash),
bash->man cat
C!klodoL
28.11.2007, 16:40
cat file.txt | sort | uniq > bugaga.txt
и чутка о shell? ЧТО ЭТО?
это в линуксе такая командная строка
Функция fopen возврщает не содежимое файлов, а дескрипторы, по которым осуществляется чтение - они специально подбираются таким образом, чтобы при любых условиях не совпадали с другими дескрипторами, для того чтобы PHP мог различать различные открытые файла. Если хочешь сравнить содержимое, лучше воспользуйся функцией file_get_contents
<?php
$a=file_get_contents('input.txt');
$b=file_get_contents('output.txt');
if($a==$b)
{
echo("дэ...");
}
else
{
echo("нде...");
}
?>
if(md5($file1)===md5($file2))unlink('file2.txt'); - почему три знака =? интересно просто
blackybr
29.11.2007, 00:48
<?php
passthru("cmp -c 1.txt 2.txt");
echo '<br>';
passthru("diff 1.txt 2.txt");
?>
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot