PDA

Показать полную графическую версию : Добавить разделитель после каждой ссылки, если его нет


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

Alexander_88
04-07-2019, 19:54
Спасибо, работает, а не подскажите как изменить этот 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
не знаю правильно или нет :)




© OSzone.net 2001-2012