Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Как удалить определенную строчку из очень большого количества текстовых файлов?

Тема в разделе "Прочие услуги", создана пользователем Яло, 24 фев 2018.

24.02.18 в 21:52
26.02.18 в 19:00
11
539
0
  1. TopicStarter Overlay
    Яло

    Яло Новичок

    Регистрация:
    13 авг 2017
    Сообщения:
    27
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    Приветствую форумчане! Кто может сделать скрипт или другое решение для моей проблемки!?
    Суть: есть больше 10к текстовых файлов (статей), и из каждой нужно удалить <h1>. Кто поможет? Можно обсудить оплату, если потребуется. Всем спасибо заранее)
     
  2. iCooLER

    Кодер

    Регистрация:
    13 сен 2016
    Сообщения:
    390
    Лучших ответов:
    6
    Рейтинги:
    +320 / 12 / -0
    1. Файлы я так понимаю небольшие, до пары МБ наверно?
    2. Находятся все в одной папке или есть подпапки?
    3. Я так понял, что нужно удалить только открывающий и закрывающий тег <h1>тут текст</h1> - верно?

    Заклепать такой скрипт дело 5 минут ;)

    P.S. Вообще я уверен есть проги для этого, и наверно кто-то знает такую и подскажет. Но я привык все делать с помощью PHP, так что такой вариант и предлагаю.
     
    #2 iCooLER, 24 фев 2018
    Последнее редактирование: 24 фев 2018
  3. TopicStarter Overlay
    Яло

    Яло Новичок

    Регистрация:
    13 авг 2017
    Сообщения:
    27
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    Да, все верно!

    1. файлы от 5-50 кб
    2. все в одной папке
    3. нужно удалить всю строку <h1>Заголовок</h1> в каждом файле

    Сколько будет стоить такой скрипт (если дело 5 минут:))?
     
  4. Sunny_Curtis

    Команда форума VIP Кинотрафик v2

    Регистрация:
    9 дек 2016
    Сообщения:
    886
    Лучших ответов:
    0
    Рейтинги:
    +154 / 31 / -0
    А не проще ли из кода полной новости его удалить? Или я чего-то не понял?)))
     
  5. TopicStarter Overlay
    Яло

    Яло Новичок

    Регистрация:
    13 авг 2017
    Сообщения:
    27
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    Неправильно понял) У меня на компьютере есть папка в которой больше 10к статей, и мне нужно на постоянной основе из большого количества статей удалять Н1 заголовки.
     
  6. iCooLER

    Кодер

    Регистрация:
    13 сен 2016
    Сообщения:
    390
    Лучших ответов:
    6
    Рейтинги:
    +320 / 12 / -0
    1. Папку с файлами и php-файл из архива кидаем в одну папку на локальном севере, чтобы лежали «рядом», к примеру:
    Код:
    /files
    /remove_h1.php
    2. Открывает в браузере путь, по которому лежит файл( http://localhost/remove_h1.php предположу что будет примерно так)
    3. Скрипт выведет список папок. Выбираем нашу папку, в которой лежат файлы.
    4. Все. Скрипт прогоняет файлы, удаляет теги по регулярке: <h1[\s\w=\"\']*>(.*?)<\/h1> (провозился с регуляркой, в итоге сделал так, вроде работает без косяков)

    P.S. Надеюсь я верно понял, что вам нужен php скрипт :D
    P.S.S. У себя потестил, должно работать норм. Но комп у меня временно слабенький, так что он тупо подвис, хотя дело сделал )
     

    Вложения:

    • remove_h1.zip
      Размер файла:
      881 байт
      Просмотров:
      4
  7. TopicStarter Overlay
    Яло

    Яло Новичок

    Регистрация:
    13 авг 2017
    Сообщения:
    27
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    Спасибо огромное. Завтра уже буду тестить - обязательно отпишусь!!
     
  8. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.295
    Лучших ответов:
    54
    Рейтинги:
    +5.206 / 74 / -0
    notepad++, поиск и замена (ctrl+f), в пункте регулярные выражения пишем:
    Код:
    <h1>(.*)</h1>
    заменить на - оставляем пустым.
    2018-02-26_18-41-49.png

    В поле ПАПКА выбираешь свою папку, в которой находятся все файлы для поиска и замены.
     
    • Нравится Нравится x 1
    • Лучший Лучший x 1
  9. iCooLER

    Кодер

    Регистрация:
    13 сен 2016
    Сообщения:
    390
    Лучших ответов:
    6
    Рейтинги:
    +320 / 12 / -0
    Блиииииинн.... Я ведь думал что где-то как-то есть такое))) Но я notepad не пользуюсь, у меня Sublime Text трудится неплохо) И кстати сейчас посмотрел — в нем тоже такая фигня есть))

    Но вот тут нюанс все же есть:
    1. Иногда тегу h1 задают класс, айди или вовсе кусок css стилей. И такая регулярка не сработает: <h1>(.*)</h1>. Хотя такое не слишком часто, но все же.
    2. Второй момент вообще мелочь, и наверно может встретиться в единичных случаях но все же. В PHP регулярка(если не указать модификатор)<h1>(.*)</h1> захватывает текст от первого <h1> до последнего </h1>. т.е если на странице в одной строке (иногда код сайта сжимается в одну строку) будет каким-то образом два тега h1, то текст между ними может тоже удалится.

    Все, я показал какой я умный — всем спасибо! Это шутка


    Минут 40 возился с регуляркой тогда, пытаясь учесть эти два момента )))

    UPD: первый пункт решается так: <h1(.*)</h1>
     
    • Нравится Нравится x 2
  10. byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.295
    Лучших ответов:
    54
    Рейтинги:
    +5.206 / 74 / -0
    ещё можно добавить (методом проб) или \r или \n или в совокупности их вместе в \r\n или \n\r после закрывающего </h1> если на одной строке находится только h1.
     
  11. iCooLER

    Кодер

    Регистрация:
    13 сен 2016
    Сообщения:
    390
    Лучших ответов:
    6
    Рейтинги:
    +320 / 12 / -0
    Не совсем тебя понял... <h1(.*)</h1>\n А если после закр.тега идет текст или пробел? Варик заменить сначала тег </h1> на </h1>\n, а потом сделать такую замену... <h1(.*)</h1> Но по моему пора уже закрыть эту тему (топик) :D

    P.S. К слову пробел и переносы можно искать так \s (но думаю ты это знаешь) :rolleyes:
     
  12. TopicStarter Overlay
    Яло

    Яло Новичок

    Регистрация:
    13 авг 2017
    Сообщения:
    27
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    Спасибо вам, ребята!!! Очень помогли)
     
    • Нравится Нравится x 1
Яндекс.Метрика