|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Необходимо найти все строки которые начинаются с "download:"https:" и заканчиваются |
|
VBS/WSH/JS - [решено] Необходимо найти все строки которые начинаются с "download:"https:" и заканчиваются
|
Старожил Сообщения: 175 |
Профиль | Отправить PM | Цитировать Здравствуйте, нужна ваша помощь.
Есть текстовый файл сгенерированный программой, вид содержимого файла: {'title':'Эпизод 1', 'file':'[1080p]//de2.anilibria.tv/videos/ts/8374/0001-hd/playlist.m3u8,[720p]//de2.anilibria.tv/videos/ts/8374/0001/playlist.m3u8,[480p]//de2.anilibria.tv/videos/ts/8374/0001-sd/playlist.m3u8', download:"https://x.anilibria.tv/get/3BdXdlP0bs4wlKyjQcXZpA/1557795967/mp4/8374/0001.mp4?download=Hitoribocchi no Marumaru Seikatsu-1-sd.mp4", 'id': 's1'}, {'title':'Эпизод 2', 'file':'[1080p]//de2.anilibria.tv/videos/ts/8374/0002-hd/playlist.m3u8,[720p]//de2.anilibria.tv/videos/ts/8374/0002/playlist.m3u8,[480p]//de2.anilibria.tv/videos/ts/8374/0002-sd/playlist.m3u8', download:"https://x.anilibria.tv/get/ciP3toJ3rI3-x25Rqxxa0g/1557795967/mp4/8374/0002.mp4?download=Hitoribocchi no Marumaru Seikatsu-2-sd.mp4", 'id': 's2'}, {'title':'Эпизод 3', 'file':'[1080p]//de2.anilibria.tv/videos/ts/8374/0003-hd/playlist.m3u8,[720p]//de2.anilibria.tv/videos/ts/8374/0003/playlist.m3u8,[480p]//de2.anilibria.tv/videos/ts/8374/0003-sd/playlist.m3u8', download:"https://x.anilibria.tv/get/2xTCA5dY7tiA634RtlXrTw/1557795967/mp4/8374/0003.mp4?download=Hitoribocchi no Marumaru Seikatsu-3-sd.mp4", 'id': 's3'}, {'title':'Эпизод 4', 'file':'[1080p]//de2.anilibria.tv/videos/ts/8374/0004-hd/playlist.m3u8,[720p]//de2.anilibria.tv/videos/ts/8374/0004/playlist.m3u8,[480p]//de2.anilibria.tv/videos/ts/8374/0004-sd/playlist.m3u8', download:"https://x.anilibria.tv/get/Zgk0waIDnyzpgH4K3QM1hw/1557795967/mp4/8374/0004.mp4?download=Hitoribocchi no Marumaru Seikatsu-4-sd.mp4", 'id': 's4'}, {'title':'Эпизод 5', 'file':'[1080p]//de2.anilibria.tv/videos/ts/8374/0005-hd/playlist.m3u8,[720p]//de2.anilibria.tv/videos/ts/8374/0005/playlist.m3u8,[480p]//de2.anilibria.tv/videos/ts/8374/0005-sd/playlist.m3u8', Hitoribocchi no Marumaru Seikatsu-5-sd.mp4", =Hitoribocchi no Marumaru Seikatsu-5-sd.mp4", 'id': 's5'} Например чтобы были удалены только строки такого вида: Количество строк каждый раз разные.... |
|
------- Отправлено: 05:52, 12-05-2019 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать YuS_2, в принципе, не споря о деталях, с таким утверждением можно согласиться.
|
Отправлено: 22:50, 15-05-2019 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата Iska:
это лишнее, достаточно сравнить результат работы Replace с исходными данными - у вас и так они в памяти и вы надеетесь, что её достаточно (по идее, если замен не было, должна вернуться ссылка на ту же самую строку) Цитата Iska:
"не вижу существенных отличий в парадигме программирования между C и C++ (за исключением объектов)" Ну и без смены парадигм у языков есть сложившиеся индивидульные подходы к решению одних и тех же задач. |
||
Отправлено: 13:28, 16-05-2019 | #22 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Busla, не думаю, что данный способ:
Цитата Busla:
Цитата Busla:
Цитата Busla:
Цитата Iska:
|
||||
Отправлено: 14:14, 16-05-2019 | #23 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
типа: |
|
------- Последний раз редактировалось YuS_2, 16-05-2019 в 15:08. Отправлено: 15:02, 16-05-2019 | #24 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать YuS_2, спасибо, ясно. Ну, таким макаром и на WSH можно сравнивать. В чём же тут отличия?!
Другое дело, что сравнение оригинального и возможно изменённого содержимого на мой непросвещённый взгляд по времени будет никак не меньше, нежели поиск первого вхождения шаблона. Про наглядность я вообще молчу. |
Отправлено: 15:37, 16-05-2019 | #25 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Создаем файл test.txt на 100000 строк, заполненный числами от 0 до 9, по 100 символов в строке... $cnt,$cntstr=100000,10 $arr = 0..9 $str = -join (1..$cntstr|%{-join $arr}) 1..$cnt|%{$str}|sc test.txt -enc utf8 '==Условный блок==' (1..10|%{ (measure-command{ if(($a = gc test.txt -raw) -match 'a'){ $a -replace 'a'|sc out1.txt -enc utf8 } }).totalseconds }|measure -aver).average '' '' '==Сравнение данных==' (1..10|%{ (measure-command{ diff ($a = gc test.txt -raw) ($a -replace 'a')| ? SideIndicator -eq '=>'|select -exp inputobject| sc out2.txt -enc utf8 }).totalseconds }|measure -aver).average 2. для более корректного подсчета, каждый тест запускается по 10 раз и вычисляется среднее время... В сухом остатке: Получилось, что наоборот, сравнение данных более затратно по времени, в том числе, и в случае если совпадения не существует... хотя отличия вполне сопоставимы... Цитата Iska:
|
|||
------- Последний раз редактировалось YuS_2, 16-05-2019 в 18:41. Отправлено: 18:27, 16-05-2019 | #26 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:14, 16-05-2019 | #27 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Цитата Iska:
Т.е. это не влияет на результат. |
||
------- Отправлено: 20:55, 16-05-2019 | #28 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
Цитата YuS_2:
Вот простая иллюстрация: Возможно, со строками другой длины и результат будет иной. Но так или иначе, Compare-Object вместо простого сравнения — не лучший выбор. |
||
Отправлено: 22:11, 16-05-2019 | #29 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Но да, если строка единственная, то никаких преимуществ использование diff не дает, согласен. Compare-object хорош при сравнении массивов, где прямое сравнение работать не будет... но в обсуждаемом случае, построчное чтение не эффективно, по затратам времени, да и фрагмент может ведь располагаться не на одной строке. В общем, если есть какие-либо дополнения по поводу эффективности, хотелось бы увидеть пояснения на примерах, от автора слов: Цитата Busla:
|
||
------- Отправлено: 08:59, 17-05-2019 | #30 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Как из строки в .txt вывести символы "которые там обновляются"в другой .txt | Bombastig | Скриптовые языки администрирования Windows | 6 | 08-02-2014 04:54 | |
Интерфейс - [решено] Нет "стеклянного" эффекта при наведении на "Свернуть все окна" | aka_smile | Microsoft Windows 7 | 5 | 21-09-2012 11:49 | |
Не получается найти все выпуски "Хакер"+"спец"+"железо" | verdix | Хочу все знать | 5 | 29-11-2008 15:19 | |
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") | submaster | Microsoft Windows NT/2000/2003 | 5 | 13-09-2006 12:29 |
|