Компьютерный форум 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=306513)

Alexander_88 11-10-2015 11:38 2562671

заменить ссылки из одного тхт на ссылки в другом тхт
 
Здравствуйте, подскажите пожалуйста как можно заменить ссылки в одном 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 11-10-2015 12:22 2562685

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

"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 11-10-2015 12:43 2562690

Цитата:

Цитата 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 11-10-2015 13:19 2562699

Цитата:

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

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

$old = $old -replace ".+/$($url.segments[-1])",$url

Alexander_88 11-10-2015 16:46 2562744

спасибо, работает :)


Время: 02:55.

Время: 02:55.
© OSzone.net 2001-