Любой язык - [решено] соединения ссылок с частями архива в одну строку

Ответить
 • Просмотры: 1
Аватара пользователя
Alexander_88

Любой язык - [решено] соединения ссылок с частями архива в одну строку

Сообщение Alexander_88 »

Здравствуйте, подскажите, пожалуйста, как соединить в тхт файле ссылки частей архива файла в одну строку, задав разделитель, который будет использоваться между ними. Нижняя ссылка становится рядом с верхней с правой стороны (между ними разделитель) Нужно, чтобы это происходило по следующему алгоритму...



1 - в строке ищется текст part1, если не находится, переходит к следующей ссылке и ищет в ней текст part1

2 - а если он находится, то в следующей строке ищется текст part2 (он точно должен быть найдет), и эта строка (с part2) соединяется со строкой part1

3 - далее в следующей строке ищется текст part3

4 - если найден, то ссылка прикрепляется к двум уже соединенным

5 - далее в следующей ищется part4 (и так далее), если найдена, то опять прикрепляется, а если не найдена, то не прикрепляется, а начинает с этой же строкой работать с шага 1



ну или по другому алгоритму, если вы лучше знаете Изображение

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



в блокноте ссылки:





Код:

Код: Выделить всё

[url=http://google.com/file/56580070a45a7/00070start_CC-120.avi]00070start_CC-120.avi[/url]
[url=http://google.com/file/e7797a7be5453/00071start_CC-133.avi]00071start_CC-133.avi[/url]
[url=http://google.com/file/09b97fd1526bd/00072start_CC-134.avi]00072start_CC-134.avi[/url]
[url=http://google.com/file/dc5db791bdd82/00073start_CEAD-035.part1.rar]00073start_CEAD-035.part1.rar[/url]
[url=http://google.com/file/5db4a247108b7/00073start_CEAD-035.part2.rar]00073start_CEAD-035.part2.rar[/url]
[url=http://google.com/file/4db5fc2111b2e/00074start_CESD-072_A.part1.rar]00074start_CESD-072_A.part1.rar[/url]
[url=http://google.com/file/82c5f05f64e37/00074start_CESD-072_A.part2.rar]00074start_CESD-072_A.part2.rar[/url]
[url=http://google.com/file/fe5970a3bfd84/00075start_CESD-072_B.part1.rar]00075start_CESD-072_B.part1.rar[/url]
[url=http://google.com/file/d207982281e5f/00075start_CESD-072_B.part2.rar]00075start_CESD-072_B.part2.rar[/url]
[url=http://google.com/file/c571750deed81/00076start_CETD-225.avi]00076start_CETD-225.avi[/url]
[url=http://google.com/file/9d84f2f9be17e/00077start_CETD-227.mkv]00077start_CETD-227.mkv[/url]

разделитель я указал такой:



Код:

после применения скрипта, блокнот должен иметь вид:







Код:

Код: Выделить всё

[url=http://google.com/file/56580070a45a7/00070start_CC-120.avi]00070start_CC-120.avi[/url]
[url=http://google.com/file/e7797a7be5453/00071start_CC-133.avi]00071start_CC-133.avi[/url]
[url=http://google.com/file/09b97fd1526bd/00072start_CC-134.avi]00072start_CC-134.avi[/url]
[url=http://google.com/file/dc5db791bdd82/00073start_CEAD-035.part1.rar]00073start_CEAD-035.part1.rar[/url] | [url=http://google.com/file/5db4a247108b7/00073start_CEAD-035.part2.rar]00073start_CEAD-035.part2.rar[/url]
[url=http://google.com/file/4db5fc2111b2e/00074start_CESD-072_A.part1.rar]00074start_CESD-072_A.part1.rar[/url] | [url=http://google.com/file/82c5f05f64e37/00074start_CESD-072_A.part2.rar]00074start_CESD-072_A.part2.rar[/url]
[url=http://google.com/file/fe5970a3bfd84/00075start_CESD-072_B.part1.rar]00075start_CESD-072_B.part1.rar[/url] | [url=http://google.com/file/d207982281e5f/00075start_CESD-072_B.part2.rar]00075start_CESD-072_B.part2.rar[/url]
[url=http://google.com/file/c571750deed81/00076start_CETD-225.avi]00076start_CETD-225.avi[/url]
[url=http://google.com/file/9d84f2f9be17e/00077start_CETD-227.mkv]00077start_CETD-227.mkv[/url]

известно, что части идут друг за другом, т.е. не может быть такого, что CESD-072_A.part1.rar в первой строке, а ее часть CESD-072_A.part2.rar в десятой... она обязательно будет следующая по счету Изображение
Аватара пользователя
Foreigner

Re: Любой язык - [решено] соединения ссылок с частями архива в одну строку

Сообщение Foreigner »

Код:

Код: Выделить всё

gc 1.txt | group {
    $_ -replace '.+/(\d+start_[^\.]+)\..*','$1' 
} | foreach { $_.group -join '|' } | sc 2.txt
Ответить

Вернуться в «Скриптовые языки администрирования Windows»