Делюсь: Скрипт, удаляющий строки, содержащие заданное слово
На страницу 1, 2  След.
Новая тема Написать ответ
# Ср Июн 22, 2011 11:37 amYabuti Зарег.: 28.11.2008 ; Сообщ.: 16263Ответить с цитатой
Всем привет!
Я уже немного разбираюсь в php, а тут как раз проблема встала - прогу, удаляющую строки с нужными мне словами я запустить не могу, т.к. ОС теперь английская и не всегда понимает ру-софт, пришлось написать свой скриптик на php. Может кому тоже пригодится.
Файл со строками text.txt кладем в папку со скриптом, в скрипте во второй строке пишем слово (часть слова), строки с которым мы желаем удалить.
Результат - очищенная база, сохранится в этот же файл.

Код:
<?
$clean = 'бесплат';             // Здесь пишем слово, строки с которым нужно удалить
$source = file('text.txt');
$buff = fopen('text.txt','w+');
$i = 1;
foreach($source as $clean)
{
  if(strpos($clean,$sample)===false) fwrite($buff,$clean);
  echo $i.". Обработали кейворд: <font color=#392E85>".$clean."</font><br> ";
  $i++;
}
$i--;
echo "===========================================<br>";
echo "Итого: ".$i." кейвордов обработано.";
fclose($buff);
?>


Пользуйтесь Drinks or Beer
# Ср Июн 22, 2011 7:32 pmYabuti Зарег.: 28.11.2008 ; Сообщ.: 16263Ответить с цитатой
Кстати, я тут на коленках сварганил сайт и идею девелопмент студии, раз уж есть такое направление.

Софт обозвал Пиночет, выкладываю версию 0.1:
Скачать Пиночет 0.1
Пароль: tristar.ru
Официальная страница Пиночета 0.1 или удаление строк по заданному слову

Буду еще всякий нужный софт создавать и бесплатно выкладывать Drinks or Beer

А вот официальный логотип девелопмент-студии :mrrgreen:
# Ср Июн 22, 2011 8:03 pmadamant Зарег.: 20.03.2008 ; Сообщ.: 11494Ответить с цитатой
в каком софте пишешь?
# Ср Июн 22, 2011 8:11 pmYabuti Зарег.: 28.11.2008 ; Сообщ.: 16263Ответить с цитатой
adamant, php, недавно начал изучать :thup:
# Ср Июн 22, 2011 8:45 pmadamant Зарег.: 20.03.2008 ; Сообщ.: 11494Ответить с цитатой
я про редактор )))
# Ср Июн 22, 2011 8:48 pmYabuti Зарег.: 28.11.2008 ; Сообщ.: 16263Ответить с цитатой
adamant, PSPad :thup:
# Чт Июн 23, 2011 8:09 amCoooler Зарег.: 21.06.2010 ; Сообщ.: 4368Ответить с цитатой
О, спс думаю для многих пригодится.
# Чт Июн 23, 2011 11:52 ammedar Зарег.: 13.05.2006 ; Сообщ.: 243Ответить с цитатой
Yabuti писал(а):
php, недавно начал изучать


Мда.
Ну успехов Smile
# Чт Июн 23, 2011 12:05 pmYabuti Зарег.: 28.11.2008 ; Сообщ.: 16263Ответить с цитатой
medar, что-то не так?
# Чт Июн 23, 2011 12:06 pmmedar Зарег.: 13.05.2006 ; Сообщ.: 243Ответить с цитатой
Yabuti, долгий путь тебе предстоит, оочень долгий.
# Чт Июн 23, 2011 11:28 pmsydoow Зарег.: 29.06.2007 ; Сообщ.: 8213Ответить с цитатой
Может ну его нафиг тебе время тратить на изучение пыха? Wink
# Пт Июн 24, 2011 10:07 amSterx Зарег.: 08.10.2007 ; Сообщ.: 252Ответить с цитатой
medar,
оптимизм не пропьешь Smile пойду оформлю 100500 коробочных версий своих скриптов
# Ср Июл 13, 2011 11:36 amДимитрий Зарег.: 18.01.2008 ; Сообщ.: 162Ответить с цитатой
В общем-то задача очень похожая..даже практически такая же..вопрос скорости того же php, если фразы многословные..

Стоит такая задача:
Первый файл, как бы эталон ключевых слов, что уже идут в обработке ( то есть с ними работа, удалять их нельзя)

Второй файл- добавочный, в нем куда больше ключевых слов, но много дублей ( повторов из первого файла).

Нужно быстро очистить второй файл, оставив в нём слова, которых нет в первом!

пробую пока keywordkeeper 4.2.4 еще не знаю чем кончится, так как 20 минут работает при количестве слов в 7-10 тыщ.
Первый файл 7 тыщ, второй 10.

Есть ли чудо программка для такой работы, более быстрая?
# Ср Июл 13, 2011 2:46 pmiwfyb Зарег.: 14.03.2008 ; Сообщ.: 2862Ответить с цитатой
я для этих целей юзаю агресс парс - работа с базами
но файлы не большие конечно. для больших можно хрумер
# Ср Июл 13, 2011 3:11 pmEditeur Зарег.: 19.06.2010 ; Сообщ.: 382Ответить с цитатой
Димитрий писал(а):
20 минут работает при количестве слов в 7-10 тыщ.


пиздец, где вы такие адские программы берете
если я правильно понял, что ты хочешь
питон:

words1 = set(open('file1.txt').read().split('\n') )
words2 = set(open('file2.txt').read().split('\n') )
diff = words2-words1
outf = open('diff.txt', 'w')
outf.writelines("%s\n" % a for a in diff)
outf.close()


на 10к отработает за секунды
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ
 На страницу 1, 2  След.
Любое использование материалов, размещенных на ArmadaBoard.com, без разрешения владельцев ArmadaBoard.com запрещено.