Часто возникает необходимость убрать
повторы из текстовика. При сборке своего словаря, при парсинге
логов, баз. В общем, думаю, ты частенько сталкивался с такого
рода проблемой. Да, существует куча программ для работы со
словарями, толпы написанных парсеров и т.д., но мы пойдем другим
путем.

1. Решение через PHP.

Создаем php-парсер без наворотов. Комментарии я привел в
коде, думаю, там все понятно. Сортировка по алфавиту и удаление
повторов, это то, что в 90% случаев требуется сделать.

<?php
$file= file ('1.txt'); // файл на входе
sort ($file); // сортируем по алфавиту
$file = array_unique($file); // убираем повторы
foreach($file as $val){
$end .= $val ;
}
$out=fopen('2.txt','w'); // файл на выходе
fwrite($out,$end);
fclose($out);
?>

Файл, который нужно отпарсить, может быть и удаленным, и
задаваться следующим образом:

$file= file (‘http://127.0.0.1/1.txt’);

Главное, чтобы это позволили настройки PHP-интерпретатора.

2. Консольное решение.

Владельцам линухов заморачиваться со скриптами вообще не
требуется. Все давно реализовано в консоли:

cat 1.txt | sort | uniq > 2.txt

То же самое, разумеется, можно проделать в шелле, когда
отпарсить файл нужно «на месте».

<?php
$file= file (‘1.txt’); // файл на входе
sort ($file); // сортируем по алфавиту
$file = array_unique($file); // убираем повторы
foreach($file as $val){
$end .= $val ;
}
$out=fopen(‘2.txt’,’w’); // файл на выходе
fwrite($out,$end);
fclose($out);
?>

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии