Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Удаление определённых строк в текстовом файле

Ответить
Настройки темы
Любой язык - [решено] Удаление определённых строк в текстовом файле

Старожил


Сообщения: 227
Благодарности: 21

Профиль | Отправить PM | Цитировать


Добрый день всем!
Никак не получается решить, проблему удаления некоторых строк в тексте.
В Notepad++ с помощью регулярки это конечно можно сделать без проблем, но нужна или консольная утилита или скрипт, с возможностью запуска из батника.
Собственно пример текста:
Код: Выделить весь код
Diva Universal (Россия)
http://буквенно-циферный url
Familia Domashniy
http://буквенно-циферный url
Fashion TV
http://буквенно-циферный url
Fashion TV HD
http://буквенно-циферный url
Fashion TV 3 HD
http://буквенно-циферный url
Fashion TV 9 HD
http://буквенно-циферный url
Fine Living
http://буквенно-циферный url
Fine Living Europe
http://буквенно-циферный url
Fine Living Network
http://буквенно-циферный url
Food Network
http://буквенно-циферный url
Food Network HD
http://буквенно-циферный url
Нужно удалить все строки, оставив только выделенные. Но усложнение в том, что url переменные, да и количество строк, как до нужного блока текста, так и после него может быть разное.
Может есть скрипт или консольная утилита для такой задачи ?
Буду очень благодарен за помощь и подсказки.

Отправлено: 16:09, 01-06-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Uragan66, удаления «строк» или «подстрок»?

Утилита — sed. Скрипты — WSH или PoSH (последний «тяжелее», но возможностей у регулярок больше).

Цитата Uragan66:
Нужно удалить все строки, оставив только выделенные. »
Чем они однозначно отличаются от прочих?
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:06, 01-06-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 227
Благодарности: 21

Профиль | Отправить PM | Цитировать


Цитата Iska:
удаления «строк» или «подстрок»? »
Iska, именно строк, вернее всего теста, кроме выделенного. В приведённом примере должен остаться только текст:
Код: Выделить весь код
Fashion TV
http://буквенно-циферный url
Fashion TV HD
http://буквенно-циферный url
Fashion TV 3 HD
http://буквенно-циферный url
Fashion TV 9 HD
http://буквенно-циферный url
Цитата Iska:
Чем они однозначно отличаются от прочих? »
Да практически ничем, кроме конечно названия (к примеру Fashion TV), они постоянные, следующая строка - ссылка, она меняется, также, как и в других строках.
Есть хорошая утилита для замены текста - nhrt, вот только регулярку к ней не могу подобрать, те, что работают в Notepad++, здесь не срабатывают.

Отправлено: 19:44, 01-06-2019 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Uragan66, хорошо, я перефразирую: какое регулярное выражение в Notepad++ позволяет Вам удалить остальные строки и оставить только потребные?
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:48, 01-06-2019 | #4

mwz mwz вне форума

Аватара для mwz

Ушел из жизни


Сообщения: 8595
Благодарности: 2127

Профиль | Сайт | Отправить PM | Цитировать


Uragan66, подсказка:
Цитата Uragan66:
Fashion TV »
— это или нет должно оставаться (с сопутствующей строкой)?

-------
Mikhail Zhilin


Отправлено: 21:54, 01-06-2019 | #5


Deadooshka


Сообщения: 2550
Благодарности: 697

Профиль | Отправить PM | Цитировать


на всякий случай... https://regex101.com/r/am7wLh/1
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:38, 01-06-2019 | #6


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1227
Благодарности: 513

Профиль | Отправить PM | Цитировать


Цитата Uragan66:
Но усложнение в том, что url переменные, да и количество строк, как до нужного блока текста, так и после него может быть разное. »
powershell
Код: Выделить весь код
sls test.txt -enc utf8 -patt 'Fashion TV' -context 0,1|
%{$_.line;$_.context.postcontext}|out-file out.txt -enc utf8

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 02-06-2019 в 09:50.

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:43, 02-06-2019 | #7


Старожил


Сообщения: 227
Благодарности: 21

Профиль | Отправить PM | Цитировать


Цитата Iska:
какое регулярное выражение в Notepad++ позволяет Вам удалить остальные строки и оставить только потребные? »
Должно было работать такое:
Код: Выделить весь код
^(?!Fashion TV).*[\r\n]*
но без ссылок, я как-то сразу не обратил внимание на это, начал искать консольное решение.
Regex в конструкторе, подсказанное Sham, работает, благодарю за подсказку!

Сейчас вроде что-то прояснилось. Большое спасибо всем за помощь !

YuS_2, спасибо за код, попробую, может скриптом будет удобнее, чем утилитой nhrt.

Последний раз редактировалось Uragan66, 02-06-2019 в 14:28.


Отправлено: 14:14, 02-06-2019 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Удаление определённых строк в текстовом файле

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удаление строк в текстовом файле, как это сделать??? VladZombie Скриптовые языки администрирования Windows 70 08-09-2020 13:28
CMD/BAT - Поиск и копирование строк в текстовом файле Iwest Скриптовые языки администрирования Windows 11 19-10-2017 09:26
Любой язык - [решено] Сортировка строк в текстовом файле по дате TRaMeLL Скриптовые языки администрирования Windows 17 25-08-2017 12:34
CMD/BAT - работа со строками, а именно редактирование строк в текстовом файле Vlad_705 Скриптовые языки администрирования Windows 7 20-10-2014 17:26
CMD/BAT - Подсчет количества строк в текстовом файле sl1mus Скриптовые языки администрирования Windows 3 28-06-2012 21:29




 
Переход