Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Добавить разделитель после каждой ссылки, если его нет (http://forum.oszone.net/showthread.php?t=341173)

Alexander_88 04-07-2019 13:08 2878130

Добавить разделитель после каждой ссылки, если его нет
 
Здравствуйте, подскажите как можно добавить разделитель в txt файле после каждой ссылки, если его нет..
Ссылка начинается с http или с https, разделитель //==================
Пример txt файла:

Код:

http://forum.oszone.net/newthread.php?do=newthread&f=102
disfuygidlfhglidhg
dskujglisdrui;lgszerh;dghdrgklh
3489673874tyuyguosd
//==================
usyhgdg
http://forum.oszone.net/newthread.php?do=ne454d&f=1764
reiutjoierutiowuit444
sdfkuos444
http://forum.oszone.net/newthread.php?do=ne34353ead&f=109

После выполнение скрипта, получится так:
Код:

http://forum.oszone.net/newthread.php?do=newthread&f=102
//==================
disfuygidlfhglidhg
dskujglisdrui;lgszerh;dghdrgklh
3489673874tyuyguosd
//==================
usyhgdg
http://forum.oszone.net/newthread.php?do=ne454d&f=1764
//==================
reiutjoierutiowuit444
sdfkuos444
http://forum.oszone.net/newthread.php?do=ne34353ead&f=109
//==================

txt файл будет не одна тысяча строк :)

greg zakharov 04-07-2019 15:44 2878161

Код:

gc C:\files\some.txt | % {("$_","$_`n//================")[($_ -as [Uri]).Scheme -match 'https?']}
Если файл очень большой, то, пожалуй, стоит задуматься о Workflow, ParallelEnumerable или чем-то в этом роде.

Alexander_88 04-07-2019 19:54 2878204

Спасибо, работает, а не подскажите как изменить этот txt, новым результатом, т.е. чтобы результат был в файле some.txt
Я пробовал так
Код:

gc old.txt | % {("$_","$_`n//================")[($_ -as [Uri]).Scheme -match 'https?']} | sc old.txt
не получается, пробовал в другой файл:
Код:

gc old.txt | % {("$_","$_`n//================")[($_ -as [Uri]).Scheme -match 'https?']} | sc result.txt
получается, но разделители в одной строке с ссылками. А если не выводить, на экране нормально отображается.
+++++++++++

Вроде получилось так:
Код:

gc data.txt | % {("$_","$_`r`n//================")[($_ -as [Uri]).Scheme -match 'https?']} | sc data1.txt
не знаю правильно или нет :)


Время: 13:06.

Время: 13:06.
© OSzone.net 2001-