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

Ответить
Аватара пользователя
Alexander_88

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

Сообщение Alexander_88 »

Здравствуйте, подскажите пожалуйста как можно заменить ссылки в одном txt файле на ссылки в другом txt файле, критерий по которому скрипт должен найти какую ссылку на какую заменить - имя файла в конце ссылки, а также я указываю домен какой на какой заменить. Если идти сверху вниз, то ссылки идут по порядку и их количество совпадает, результат нужно вывести в третий тхт файл. В тхт файле (где нужно заменить ссылки) также есть другой текст..



пример:



в old.txt ссылки, которые нужно заменить. (домен выделен жирным, а также конец ссылки, который совпадает)





Код:

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

jdshjfhsdkjf
[img]http://ist3-***terminator-001.jpg[/img]
File Name : terminator-001.mp4
Genres: Bodybuilding, Posing, Sex Toys
Format: mp4
Duration: 00:02:34
Filesize: 331 MB
Video: MPEG-4 ghjghj20, 29.000 fps, 3499 Kbps
Audio: AAfghfghfgannels, 64.2 Kbps
[IMG]http://ist3-****FileJoker-1.png[/IMG]
http://filejoker.net/n2b1xu907gzx/terminator-001.mp4
//==================
tyutyutyu
[img]http://ist3-***terminator-002.jpg[/img]
File Name : terminator-002.mp4
Genres: dfghfghfghfdgf
Format: mp4
Duration: 00:45:10
Filesize: 22 MB
Video: AVC, 1erter000 fps, 3500 Kbps
Audio: AAC LC, 44.1 rtytrynnels, 125 Kbps
[IMG]http://ist3-***FileJoker-1.png[/IMG]
http://filejoker.net/kbwejujrwejz/terminator-002.mp4



в new.txt ссылки, на которые нужно заменить (в столбик)





Код:

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

http://www.datafile.com/d/T1RNgfhjuNUT0F9/terminator-001.mp4
http://www.datafile.com/d/T1RNgfhjuNUT0F9/terminator-002.mp4

Результат должен получиться:





Код:

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

jdshjfhsdkjf
[img]http://ist3-***terminator-001.jpg[/img]
File Name : terminator-001.mp4
Genres: Bodybuilding, Posing, Sex Toys
Format: mp4
Duration: 00:02:34
Filesize: 331 MB
Video: MPEG-4 ghjghj20, 29.000 fps, 3499 Kbps
Audio: AAfghfghfgannels, 64.2 Kbps
[IMG]http://ist3-****FileJoker-1.png[/IMG]
http://www.datafile.com/d/T1RNgfhjuNUT0F9/terminator-001.mp4
//==================
tyutyutyu
[img]http://ist3-***terminator-002.jpg[/img]
File Name : terminator-002.mp4
Genres: dfghfghfghfdgf
Format: mp4
Duration: 00:45:10
Filesize: 22 MB
Video: AVC, 1erter000 fps, 3500 Kbps
Audio: AAC LC, 44.1 rtytrynnels, 125 Kbps
[IMG]http://ist3-***FileJoker-1.png[/IMG]
http://www.datafile.com/d/T1RNgfhjuNUT0F9/terminator-002.mp4
Аватара пользователя
Foreigner

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

Сообщение Foreigner »

Я правильно понял, что надо везде заменить



"filejoker.net/......"

на

"
www.datafile.com/d/T1RNgfhjuNUT0F9
"



или надо ориентироваться только по названию файла и брать соответствующий этому названию сетевой адрес из файла new.txt?



Код:

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

$old  = get-content old.txt
$urls = [uri[]](get-content new.txt)
foreach ($url in $urls) {
    $old = $old -replace ".+$($url.segments[-1])",$url
  # $old = $old -replace ".+$($url.segments[$url.segments.count-1])",$url  # если старая версия
}
$old | set-content old1.txt
Аватара пользователя
Alexander_88

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

Сообщение Alexander_88 »

Цитата Foreigner:



Я правильно понял, что надо везде заменить

"filejoker.net/......"

на

"
www.datafile.com/d/T1RNgfhjuNUT0F9
"

или надо ориентироваться только по названию файла и брать соответствующий этому названию сетевой адрес из файла new.txt?
Любой язык - [решено] заменить ссылки из одного тхт на ссылки в другом тхт




заменить везде.

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

Код:

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

http://filejoker.net/

а заканчиваются именем файла + расширение

те ссылки, на которые нужно менять начинаются на

Код:

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

http://www.datafile.com/

и заканчиваются на имя файла + расширение.

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



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





Код:

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

jdshjfhsdkjf
[img]http://ist3-***terminator-001.jpg[/img]
File Name : terminator-001.mp4
Genres: Bodybuilding, Posing, Sex Toys
Format: mp4
Duration: 00:02:34
Filesize: 331 MB
Video: MPEG-4 ghjghj20, 29.000 fps, 3499 Kbps
Audio: AAfghfghfgannels, 64.2 Kbps
[IMG]http://ist3-****FileJoker-1.png[/IMG]
http://www.datafile.com/d/T1RNgfhjuNUT0F9/terminator-001.mp4

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

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

Сообщение Foreigner »

Цитата Alexander_88:



к сожалению после применения скрипта заменилась еще одна строка, которая выделена жирным.
Любой язык - [решено] заменить ссылки из одного тхт на ссылки в другом тхт




Добавьте в слеш:



Код:

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

$old = $old -replace ".+/$($url.segments[-1])",$url
Ответить

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