анонасы, есть задача - удалить футтер в 500 html страницахкод у футтера такой:<footer class="footer">тут всякая ненужная хренотень</footer>через ноутпад пробую такой код для замены через регулярные выражения <footer class="footer">.*</footer>, но не пашетподскажите, как решить проблему?с меня, как обычно нихуя
проблемы быдлокодеров...
бамп
>>156250857я - нуб, к коддингу вообще отношения не имею, но столкнулся с такой проблемой
>>156250794 (OP)Ты "и новые строки" постаил?Слеши заэкранируй - \/, а не /
<footer class="footer">.*?<\/footer>
>>156250794 (OP)><footer class="footer">.</footer>Там вроде надо "жадность" ограничивать, если я не путаю, вот так<footer class="footer">(.+)</footer>А вообще, есть сайт https://regex101.com/ - там можно тестить
>>156250950>>156250970>>156250999все 3 варианта перепробовал - не пашет
>>156250794 (OP)у меня на работке похожая ситуация была. Я на жабе c jsoup написал парсер и збс.
>>156250794 (OP)Ты не можешь распарсить [X]HTML при помощи регулярных выражений. Потому что HTML не может быть распарсен при помощи регулярных выражений. Регулярные выражения это не тот инструмент, который может быть использован для того, чтобы корректно распарсить HTML. Как я уже неоднократно ранее отвечал в вопросах про HTML и регулярные выражения, нельзя скормить регулярке HTML. Регулярные выражения являются инструментом, недостаточно продвинутым для того, чтобы понять все конструкции, используемые в HTML. HTML — не регулярный язык и не может быть разобран регулярными выражениями. Запросы регулярных выражений не приспособлены для разбивки HTML на осмысленные части. так много раз но я не понимаю. Даже навороченные нерегулярные регулярные выражения Перла не в силах справиться с задачей парсинга HTML. Ты никогда меня не сломишь. HTML является языком достаточной сложности, чтобы его нельзя было разбирать при помощи регулярных выражений. Даже Джон Скит не может распарсить HTML регулярными выражениями. Каждый раз, когда ты пытаешься распарсить HTML регулярными выражениями, дитя дьявола умывается кровью девственниц, и русские хакеры взламывают твой сайт. Разбор HTML регулярками призывает нечестивые души в обитель живых. Регулярные выражения и HTML сочетаются также, как любовь, брак и ритуальное детоубийство. Его <center> не сдержит уже слишком поздно. Совместная сила регулярных выражений и HTML в одном концептуальном пространстве разметет твой разум как водянистые какашки. Если ты парсишь HTML регулярными выражениями, ты склоняешься перед Ними и их богохульными путями которые обрекли нас всех на нечеловеческие муки во имя Того чье Имя не может быть выражено в Основной Мультилингвальной Плоскости, он грядет. HTML-и-регулярки разжижит нервы разумных пока ты наблюдаешь твоя душа иссыхает в атаке ужаса. Парсеры HTML на регулярках это рак убивающий Хабрахабр слишком поздно слишком поздно нас не спасти проступок дитя гарантирует регулярки поглотят всю живую плоть (кроме HTML, как уже ранее предрекалось) боже милостивый помоги нам как кто нибудь может пережить эту кару парсить HTML регулярками обрекло человечество на вечность ужасающих пыток и дыр в безопасности использование регулярок как инструмента для обработки HTML создает брешь между этим миром и кошмарной обителью испорченных сущностей (как сущности SGML, только более испорченные) даже беглый взгляд на мир парсеров HTML на регулярках мгновенно перенесет сознание программиста в мир нескончаемого плача, он грядет, тлетворная склизкая регулярная зараза пожрет твой HTML-парсер, приложение и существование всего времени как Visual Basic только хуже он грядет он грядет не противься он грядет его нечестивое сџяњµе разру҉шает разумне, теги HTML теќут џз твоих глаз как жидкая боль, песнь парсинга регулярными выражениями затмит глас смертных со сферы я вижу ты видµшь эт∆ оно прекрасно последняя капля лжи людской ВСЕ ПОТЕРЯНО ВСЕ ПОТЕРЯНО пони он грядет он грядет он грядет ich or permeates все МОЕ ЛИЦО МОЕ ЛИЦО бᵒже нет НЕТ Н∑Е∑Т ЊЂТ прекрат *gles areэт˚ç∂ нZALGΌ Э†О҉ ТОНƝ ∏0НИ 0 Н ГP R∆∑†
>>156251190Джон Скит. Аминь
>>156251190>>156251142блэт!(ну ок, если не регулярные выражения, то что можно еще предпринять?я - нуб
>>156251284Это еще попробуй/<footer class="footer">(.*?)<\/footer>/g
>>156250794 (OP)bump
>>156251284Скрипту напиши на Паскаль/питоне/желфи и все, типо найти футер и найти закрывающий футер, и все между ними удалить
скриптом блядь удали, ну ахуеть теперьза 300 ре напишу на коленке за 2 минуты это говно
>>156251399>/<footer class="footer">(.*?)<\/footer>/gне пашет
>>156251284удаляй руками теперь, раз проебывал пары в универе.
веб-макаки — не программисты. Гоните их, насмехайтесь над ними.
>>156251475бля, я вообще экономист, не пизди
>>156251462спс, нет
юзай sed
>>156251424есть решение попроще?
>>156251473пиши php-парсер и юзай DOMDocument. У тебя значит футеры дохуя сложные, и писать регулярку, которая их выцепит дольше чем парсер
>>156251580написать на жсе скрипт из 2х строк, который, ты бля не поверишь, удаляет элемент футер
>>156251618Файл то жс как сохранять будет? А пробегать по всем 500 документам? Разве для этого не серверный механизм нужен или я в этом вашем фронтенде новоможном что то пропустил? Или ты про ноду?
>>156251615>>156251618есть что-нибудь попроще?яжинуб! смилуйтесь!1
>>156251618а изменения он как будет на твоем жс? + ему надо 500 таких доков изменить.
>>156251562этот шарит, цикл с sed'ом по всем файлам. Можно скрывать тред, ОП безрукий пидор
>>156251562>sedон через командную пашет?я на винде, если че
Ебаные phhшники
>>156251796лучше бы объяснил что это
>>156251812http://gnuwin32.sourceforge.net/packages/sed.htm
>>156251891тебе и так все объяснили. хуле тебе еще надо? в гугле забанен?
>>156251891https://ru.wikipedia.org/wiki/Sed
>>156251926уже скачал, курю эту хуйню https://ru.wikipedia.org/wiki/Sedоп
>>156251974не бомби, лучше код для замены в sed подскажи
>>156251812скачал cygwin ради iconv на большом наборе файлов (из винды в утф8) но сука половина файлов не сконвертилась. Хочу спросить, sed умеет?мимо-другой-ламерок
>>156251835
>>156250794 (OP)бамп
>>156252061Соус?
>>156252294сорян, нету
>>156251992sed 's/<footer class="footer">.*?<\/footer>//g'
>>156250794 (OP)проблема осталасьбамп
>>156252454>sed 's/<footer class="footer">.*?<\/footer>//g'как путь к 500 файлам указать?
Как быстрее, регулярными выражениями или например открывать файл и просто сравнивать строки пока не найдется совпадение?Например на джаве или c#
>>156252504у тебя они в одном каталоге?
>>156252581да, в одной папке
>>156252454Нахуй ты ему помогаешь? ОП настолько тупой, что даже не может в stackoverflow.
>>1562517151000 р и исходники - всё сделаю быстро и в лучшем виде.
>>156252781ты долбоеб?тебе уже написали, что ОП - нуб и вообще экономист, с хуяли бы ему понимать как накодить?
>>156252620попробуй направить каталог через пайп в сед
>>156252781не мешай, ему наконец-то пригодились его знания консольной залупы. Когда еще такой шанс предоставится.
>>156252858бля, заплатил бы, если бы для себя старалсякстати, это я обновления чек ю готовлю:)23 гб
>>1562528581100р. Сделаем еще качественней и с комментариями по коду. За 1500р задеплоим на хероку. За 5000р настроим логирование ошибок прямо на мобильный! А также бесплатная техническая поддержка продукта в течении года.
>>156252880[каталогнейм] | sed 's/<footer class="footer">.*?<\/footer>//g'может быть так
Твоя регулярка не работает потому что в.не входит символ новой строки. Вряд ли у тебя страницы минифицированы в одну строку. Следовательно,.*не срабатывает и вся регулярка становится неверной.Алсо,/надо экранировать.
>>156253020ясн, ну сверху уже объяснили, что ноутпад с регулярными выражениями для этого не подходит
>>156252887А вот это обидно. Ну про консольную залупу там, все дела(ибо сам сисадмин linux\devops) Кун который негодовал о помощи
perl -0pi.back -E 's#<(footer)\s+class=.\1.\s>.</\1>##sg' filename
>>156253080Ну так-то да. Только ставить спц приблуду для того, чтобы один раз поправить что-то на статичном сайте имхо оверкилл, поэтому тут можно и покостылять.
>>156253130Разметка съелаhttp://paste.ubuntu.com/24995751/
Какие нахуй седы? Какое нахуй экранирование слеша в текстовом редакторе? В нотпаде один чекбокс шмальнуть, и приехали.
Test
>>156253151кажись придумал..сделаю через Adobe Dreamweaverдолжно работатьотпишусь, если получится
Вендоблядкам нужно двойные кавычки указать: http://paste.ubuntu.com/24995755/
Оп, у тебя получилось?Если нет, то используй регулярку вот этого куна >>156252993, он все правильно написал, только не для венды.
>>156253271>качать тормозную адобовскую анальщину для удаления футераОтписывайся уже сейчас.
>>156250794 (OP)[CODE]<footer class="footer">((?!<footer).|\s)*<\/footer>[/CODE]
>>156253113о, поясни кто вообще такие девОпсы. Я так и не понял. У меня знакомый себя называет девОпсом, но он ни одного скрипта толком написать не может, не то что приложение целиком.
>>156252870Тогда нахуй он за это взялся? А если взялся, то учись кодить, епта. И юзать SO.
>>156253441скачиваю адобовскую приблудуконсоль не пашет>>156253488>[CODE]><footer class="footer">((?!<footer).|\s)*<\/footer>>[/CODE]куда это тулить?
>>156253492devops упрощает работу команды или команд в целом. Как и что делает - зависит от конкретной фирмы и команд(ы).На мне, например, среды для автоматических тестов(docker контейнеры), мониторинг и деплой микросервисов(если всё прошло успешно). Еще помогаю собирать статистику с прод серверов, например. Да и в целом мониторинг всех сервисов для команды.
>>156253716Не указывай что делать опу
>>156253796Звучит бесполезно
>>156253744> куда это тулить? Я обосрался с разметкой. Тули в notepad++, например (Search > Find in Files):<footer class="footer">((?!<footer).|\s)*<\/footer>
>>156253796Upd:Правка конфигов на n серверах в пару кликов через Ansible, например. Или быстрое развертывание окружения в пару кликов через тот же Ansible под нужды.Скрипты у меня на bash не так часто встречаются, но бывает.Если очень кратко, то devops значительно сокращает(должен) время на всех этапах работы команды + повышение ее эффективности. Как-то так.
>>156253870АгаТолько вот все ринулись их искать. Да и ЗП минимум в два раза выше чем у сис.админа, МИНИМУМ.
>>156253882><footer class="footer">((?!<footer).|\s)*<\/footer>парень, ты крут, добра тебевсе работает
Я бы использовал batch, например
>>156254072У нас тимлид настроил тимсити за день по гайду, он теперь тоже девопс?а какая зп у админа?
>>156253882><footer class="footer">((?!<footer).|\s)*<\/footer>>>156254232лул, рано радовался, не работает(тупо выделяет при поиске весь текст
>>156253797Пиздец, как же заебали дауны вроде "ОП - нуб и вообще экономист, с хуяли бы ему понимать как накодить?". Блять, это че теперь, умение пользоваться гуглом это только для ПОГРОМИСТОВ с 10 годами стажа? А если ты залез в незнакомую область, то будь добр, разберись в ней хоть немного, ну или научись пользоваться поисковиками.
бемп
>>156254414нажать делит не помогает?
>>156250794 (OP)За 1,5 часа уже руками бы всё удалил.
>>156254538или плати тем, кто в ней разбирается.
>>156254538как скажешь, добрый незнакомец, решивший поучить жизни кого-то на анонимном форуме
>>156254570вот такая тема выходит, если жать не замену, а поискследовательно не работает(
>>156254373С чего бы он им стал? Teamcity это всего лишь инструмент, не более. Devops не ограничивается CI\CD решением.В мск я сис.админа, например, на 120к с натяжкой вижу(не особо смотрю правда)
>>156254738У тебя наверное весь html из одной строки, а N++ показывает строку, где найдено совпадение, а не совпадение отдельно.
>>156254815нет, код самый обычныйна пике можешь увидеть, что не одной строкой
В питоне не можешь что ли ? BeautifulSoup отлично обработает.
>>156254778Он еще на хероку деплоит, собирает отчеты по багам и пишется с заказчиком. По статистике стаковерфлоу последние годы девопсы в топе висят по зп, но 120к это зп мидла-сеньора. Я понимаю, что ты написал о том, что обязанности от компании к компании разные, но все равно хуй поймешь. Чем тогда обычный админ занимается?
>>156254815когда нажимаю на "поиск далее" - выделяется весь текст>>156255057не могу
>>156255101УМВР, проблемы на вашей стороне.
>>156255392ну ты жжешь конечнофутер то многоступенчатый с дивами и спанами <footer class="footer"> <div class="container"> <div class="row-fluid"> <div class="span8"> <a href="#">и т.д.
эхх, бля, щас бы в 2017 редактировать хтмл вручную в нескольких файлах...
>>156255590ага, согласен, не дело
>>156255535Ты заебал.
>>156255097Деплоить тже не так сложно с такими инстументами. Сложно когда большой парк машин, + деплой стратегия типа zero-downtime или же частичная с откатом в случае провала. Вариаций масса.Про 120к я писал про админа, а не про девопса. Админы так-то уже мало где нужны, везде есть облака. Жми пару кнопок(рань скрипт) и развертывай нужное кол-во серверов под нужды со всем необходимым.
>>156255639а для чего это опу? что он делает?
Сделай бекап и попробуй. BeautifulSoup через pip ставь. Код говно, так что аккуратнее.https://pastebin.com/sS00MaYN
>>156255696сливает сайт чек юоп
>>156255665не подумай, я не наговариваюсейчас проверил с твоим примером - прекрасно работаетс моими же страницами - нет(тупо выделяет всю страницу
>>156255766>сливает сайт чек юнипонял...алсо я JAVA-ENTERPRIZE-POGROMIST, поговорите со мной
>>156250794 (OP)Если надо, то в sublime это делается так
>>156250794 (OP)>>156250950>>156250970>>156250999Поясните школьнику, что это за язык такой. В паскале я похожей хуйни не встречал.
>>156255691хуя вы там в мск зажрались, админы по 120к
>>156255937двачую, мимо жава-погромист 35к
>>156255869лол, погугли сайт чек ю точка рутам баб разводят на поебушки за деньги и голые фоточки..
>>156255871вау, пошел качать сублимОП
>>156255937не деньги для мск в IT сфере, к сожалению.Выше правильно написали, что это всего то уровень мидла, что как бы лол.По этой причине много админов в кодинг перекатываются, ну или в devops, например.А кто не перекатывается, то сидит и ничего не делает, зато деньги стабильно получает(ибо все работает)
>>156255952сразу видно тырпрайз господина.мимо геймдев помойник 35к java+с++
>>156256049Пиздец ты тупой. Точно такая хуйня есть в Notepad++, но тебе не по глазам.
>>156255871слушай, а если у меня вместо всякой хрени дофига дивов, спанов и другого текстабудет работать?я сейчас юзаю нотепад++, по идее и в нем регулярные выражения можно настроить
>>156256148лол, ты слепой?>>156255101оп
>>156256061так а зачем админу перекатываться в кодинг, если до мидла еще дорасти надо, а это 1.5-2 года. Плюс большинство админов, которых я видел, вообще не могут в кодинг.
>>156256230ну прост получает такой даун норм денег и забывает что он пыль подзалупная, способная только скрипты на коленке хуячить.и начинает лезть в норм профессии.там он получит по ротешнику, вернётся назад на зп 30к сколько его работа и стоит и успокоится
>>156256230До мидла в кодинг от сферы зависит(я про сроки). В мобильной можно вроде как быстро вкатиться.Ну как зачем? Хочется же больше денег + интерес чего-то нового, наверное.
>>156256049<footer class="footer">([^\n]*(\n+))+</footer>если у тебя футер не в одну строку
>>156250794 (OP)Вообще, обычно, делается 1 футер на все страницы. Если есть jQuery, то просто $('footer').hide()
>>156256455о, а вот и криворукие вебмакаки вкатились :3
>>156256455у него задача спиздить сайт постранично, а не говнокодами заниматься
>>156250794 (OP)Ты, блять,то вручную делаешь?Сейчас бы вручную через ноутпад 500 файликов открывать.Пишешь прогу на любом языке, блять:1. Цикл, идущий по всем файликам .html в папке2. В цикле открываешь файлики и загоняешь их содержимое во что-то типа HTMLDocument (C#)3. Находишь, блять, по классу этот свой футер .getElementsByClassName("footer")[0]4. Удаляешь найденный элемент из документа 5. Сохраняешь файликУсе.
>>156256445странная хренотеньне хочет искать(
>>156256455фронтенд мусор подъехал. Он пиздит хмтл, о каком одном футере ты говоришь? .hide() = удалить? Сохранять будешь на бумажке потом?
>>156256710проиграл с этого велосипедиста
>>156256818Сам ору.
>>156256710нет, не вручную, пытаюсь через ноутпад, либо дриамвьювер2-3 пункты не для меня, я - нуб
>>156256578 >>156256481Ну футера больше не будет. Делается 1 строкой кода. А тред я не читал.
>>156256804То что он написал к фронтенду не имеет никакого отношения.
>>156256890>а тред я не читалА вот и не зря.Между прочим, мог бы хоть что-нибудь старое узнать.
>>156256804Да не читал я тред. Только оп.
>>156256890>Делается 1 строкой кодаты понятия не имеешь о чём пишешь.именно поэтому вебмакак и обоссывают
>>156256758кнопку регулярки включи (нижний левый угол) .*
>>156256890а куда же он денется? С каких пор display:none удаляет элемент из дерева?
>>156256983Но я не веб макака. В чем именно я не прав? Пользователь не сможет увидеть футер, значит его нет.
>>156257219а кто ты?
>>156256936dom не имеет отношения к фронтенду? Красиво получается.
>>156257200Ну я думал ему просто перестать его показывать. Как часто люди лезут в кед страницы и вскрывают скрытые футеры?
>>156256578сайт уже спизженна диске редактирую страницы, для удобного просмотра
>>156257246Покажи мне сейчас хоть одного фронтенда, который обращается к DOMу через ЖиЕстьКваери блядь.Я не говорю про CMSдебилов с говном на лице, а про MVC богов
>>156257000включил, все равно нихуя не пашет(зато случился вин и все удалось провернуть на Dreamweaverв любом случае большое спасибо
как-то так, через Dreamweaverчерез notepad++, sed, sublime не вышло
>>156257235 Студент, 2 курс закончил. В последнем семестре был курс по веб программированию. Оттуда и знаю.
>>156257396МВС боги это те, кто сидит на реакте\анулеря?
>>156257756exactly
рендомпиктч вам из папки чекю
>>156257816пидоры похлеще цмсников
>>156258095Необоснованный "кудах" со стороны параши.Учитывая тот факт, что на одном node мы можем вертеть на хую бэкенды компилируемых языков.
>>156258300Вот это пушка. Однопоточная параша на сервере вертит на хую компилируемые языки.
>>156258546Сразу видно человека, который за асинхронность не слышал ничего. Мультитрейдинг единственный аргумент в пользу компилируемого?
>>156258300одна хуйня держит в памяти по 2 виртуальных дерева, вторая - 1-2 секунды парсит свою залупу при первом обращении.
>>156258775Смешно. На ангуляре хайлоад проект 2 года поддерживал с ежедневным посещением больше полумиллиона, с мобильных устройств то блядь жалоб на производительность не было, не говоря уже о пеках.Ладно, тут похоже студентики еще зеленые максималисты сидят
>>156258765Статическая проверка типов? Compile-time оптимизации?
>>156258989тебе про первую загрузку фронта, а ты про хайлоад. Доказанная вещь, что ангуляр, при большом количестве компонентов на странице, может загружаться 1-2с, что является пиздецом
>>156259194Это если криворукий долбоеб писал приложение, который забил на оптимизацию. Понятное дело, если у тебя на странице будет 2-4к вотчеров, то лубой браузер захлебнется.
>>156250794 (OP)Если они использют общий класс css из одного файла, то дай классу свойство visible:none; или тип того и будет тебе щасье.
>>156261319>visible:none;офигеть, вот так решениеа я ебался так долго
нотепад:(?i)<footer class="footer">.*?</footer>
>>156261726Не благодари.
find -type f -name \ -exec sed -i -r 's/<footerfooter>//g' {} \;
`<footer*footer>` suka