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

Alexander_88 08-05-2015 16:27 2505192

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

1ый исходный тхт:
Код:

http://s4.depic.me/01101/9siнгшнгg01y_o/0001dpt_m.jpg
http://s4.depic.me/01101/aasdfgdfgga0v9m_o/0001dpt_t.jpg
http://s4.depic.me/01101/tvasdashtzki2n_o/0002dpt_m.jpg
http://s4.depic.me/01101/8gfhfg4m3pemp7_o/0002dpt_t.jpg
http://s4.depic.me/01101/cbchjkjhk2t6ay5_o/0003dpt_m.jpg
http://s4.depic.me/01101/9zkjljkjhs9c3_o/0003dpt_t.jpg
http://s4.depic.me/01101/2mftsfsdfbtf2d_o/0004dpt_m.jpg
http://s4.depic.me/01101/bnwjklkjlpqe_o/0004dpt_t.jpg



2ой тхт, ссылки на которые надо будет заменить ссылки из исходного тхт:
Код:

http://s4.depic.me/01101/aaaaaaaaa_o/0004dpt_m.jpg
http://s4.depic.me/01101/bbbbbbbbbb_o/0001dpt_t.jpg
http://s4.depic.me/01101/cccccccccccc_o/0002dpt_t.jpg



3ий тхт, результат после применения скрипта:
Код:

http://s4.depic.me/01101/9siнгшнгg01y_o/0001dpt_m.jpg
http://s4.depic.me/01101/bbbbbbbbbb_o/0001dpt_t.jpg
http://s4.depic.me/01101/tvasdashtzki2n_o/0002dpt_m.jpg
http://s4.depic.me/01101/cccccccccccc_o/0002dpt_t.jpg
http://s4.depic.me/01101/cbchjkjhk2t6ay5_o/0003dpt_m.jpg
http://s4.depic.me/01101/9zkjljkjhs9c3_o/0003dpt_t.jpg
http://s4.depic.me/01101/aaaaaaaaa_o/0004dpt_m.jpg
http://s4.depic.me/01101/bnwjklkjlpqe_o/0004dpt_t.jpg

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

Kazun 08-05-2015 17:33 2505220

Код:

$h = @{}
Get-Content file1.txt | Foreach {$h.Add((Split-Path $_ -Leaf),$_)}
Get-Content file2.txt | Foreach {$h["$(Split-Path $_ -Leaf)"] = $_}
$h.GetEnumerator() | Sort Key | Foreach {$_.Value} | Out-File result.txt


Alexander_88 08-05-2015 18:28 2505237

спасибо, проверил, все четко работает :)


Время: 07:50.

Время: 07:50.
© OSzone.net 2001-