Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
AlexanderSh88
2 / 2 / 2
Регистрация: 28.09.2015
Сообщений: 242
1

Заменить ссылки в одном файле на ссылки, находящиеся в другом файле, если последние сегменты ссылок совпадают

25.11.2015, 10:44. Просмотров 875. Ответов 4
Метки нет (Все метки)

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

Файл в котором нужно сделать замену imagelink.txt

Код
http://s7.depic.me/034341/r4dfsdfjfat9_o/0005swl_t.jpg
http://s7.depic.me/01421/o7thshjlpdom_o/0006swl_m.jpg
http://s7.depic.me/01421/ooljfhd5ub1_o/0006swl_t.jpg
http://s6.depic.me/01341/73ahjhj0cw18_o/0007swl_m.jpg
http://s5.depic.me/01341/c5ayuyu9ici_o/0007swl_t.jpg
http://s7.depic.me/01445/lw1jkhgzenx_o/0008swl_m.jpg
http://s7.depic.me/01445/jav5cbvxn78b_o/0008swl_t.jpg
http://s6.depic.me/01341/qq57sfdfgbbm_o/0009swl_m.jpg
Файл, в котором находятся новые ссылки: new.txt

Код
http://s6.depic.me/01341/73aaaaaaa0cw18_o/0007swl_m.jpg
http://s7.depic.me/01421/ooljfbbbbbbbhd5ub1_o/0006swl_t.jpg
Результат после выполнения, imagelink.txt стал таким:

Код
http://s7.depic.me/034341/r4dfsdfjfat9_o/0005swl_t.jpg
http://s7.depic.me/01421/o7thshjlpdom_o/0006swl_m.jpg
http://s7.depic.me/01421/ooljfbbbbbbbhd5ub1_o/0006swl_t.jpg
http://s6.depic.me/01341/73aaaaaaa0cw18_o/0007swl_m.jpg
http://s5.depic.me/01341/c5ayuyu9ici_o/0007swl_t.jpg
http://s7.depic.me/01445/lw1jkhgzenx_o/0008swl_m.jpg
http://s7.depic.me/01445/jav5cbvxn78b_o/0008swl_t.jpg
http://s6.depic.me/01341/qq57sfdfgbbm_o/0009swl_m.jpg
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2015, 10:44
Ответы с готовыми решениями:

Заменить ссылки в одном txt-файле на ссылки из другого
Здравствуйте, подскажите пожалуйста как можно заменить ссылки в одном txt файле на ссылки в другом...

Найти в текстовом файле строку по заданному слову и заменить ей определённую часть строки в другом файле
Всех с Новым Годом! Наверное избитая тема, но все же... Задача такая: Существует два файла:...

Удаление элементов списка, находящегося в одном файле, из списка, имеющегося в другом файле
По сути есть два списка, одни - файлы в папке, которые рекурсивно сканятся и в одну строчку...

В одном файле (и Combo) названия сайтов, в другом - ссылки. Как задать соответствие
Есть проект using System; using System.Collections.Generic; using System.ComponentModel; using...

Можно ли объединить ссылки <link> в html в одном файле?
Здравствуйте! Возник такой глупый :stop: вопрос, можно ли объединить ссылки в один файл. Т.е. HTML...

4
greg zakharov
Покинул форум
2216 / 885 / 248
Регистрация: 07.05.2015
Сообщений: 1,781
25.11.2015, 12:09 2
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<# :
  @echo off
    :: Используется PowerShell v4
    powershell /nop /ex bypass^
    "&{[ScriptBlock]::Create((gc '%~f0') -join [Char]10).Invoke()}"
  exit /b
#>
 
gc new.txt | % {$o = [IO.File]::ReadAllText((cvpa imagelist.txt))}{
  if (($$ = ([Regex]"$($_.Replace(
    ([Uri]$_).Segments[-2].Replace('/', ''), '.*'
  ))").Match($o)).Success) {
    $o = $o -replace $$.Value, $_
  }
}{
  Out-File (cvpa imagelist.txt) -Inp $o -Enc ASCII
}
1
AlexanderSh88
2 / 2 / 2
Регистрация: 28.09.2015
Сообщений: 242
25.11.2015, 13:46  [ТС] 3
Спасибо, попробовал вариантик:

К сожалению меняются только ссылки, если домен схож как я понимаю... Можно ли сделать, чтобы вид ссылки вообще не учитывался? Замена просто будет происходить, если текст после последнего слэша (имени файла) полностью сходится.
И еще как - то можно сделать, чтобы в файле imagelist.txt после обработки не создавалась пустая строка в конце?
0
ComSpec
3409 / 1953 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
25.11.2015, 18:06 4
Лучший ответ Сообщение было отмечено AlexanderSh88 как решение

Решение

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@echo off
setlocal
 
set "file_1=imagelink.txt"
set "file_2=new.txt"
 
for /f %%1 in ('
 ^<"%file_1%" find/c /v ""
') do <"%file_2%" (
 for /f "delims=" %%2 in ('
  type "%file_1%"^&^
  del/a/f "%file_1%"
 ') do >>"%file_1%" (
  for /f "delims=" %%3 in ('
   more
  ') do @(
   if "%%~nx2" equ "%%~nx3" (
    echo %%3
    set/a n+=1
    set bool=true
   )
  )
  if not defined bool (
   set/a n+=1
   for /f %%4 in ('
    set/a n
   ') do @(
    if %%4 equ %%1 (
     <nul set/p=%%2
    ) else (
     echo %%2
    )
   )
  )
  set "bool="
 )
)
 
endlocal
exit/b
1
AlexanderSh88
2 / 2 / 2
Регистрация: 28.09.2015
Сообщений: 242
26.11.2015, 19:12  [ТС] 5
Спасибо, все отлично работает
0
26.11.2015, 19:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2015, 19:12

Можно ли на javascript'e в одном js-файле использовать функции, описанные в другом js-файле?
Подскажите, плз, можно ли на javascript'e в одном js-файле использовать функции, описанные в другом...

Сравнение слов в одном файле со словами в другом файле
Здравствуйте! Суть задачи такая: 1. Первый файл - запросы с городами, второй файл - база городов...

Сравнение слов в одном файле со словами в другом файле
Здравствуйте! Суть задачи такая: 1. Первый файл - запросы с городами, второй файл - база городов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru