• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

NOTEPAD jak masowo zmienić numeracje linków

Object Storage Arubacloud
0 głosów
454 wizyt
pytanie zadane 24 maja 2019 w HTML i CSS przez Rafał Nessing Nowicjusz (120 p.)

Witam kolegów i koleżanki, 

Przerabiam duży plik XML i potrzebuję masowo pozmieniać znaczniki zdjęć, przykład poniżej:

<image>https://www.test.pl/img/product_media/test.jpg</image>
			<images_extra_1>https://www.test.pl/img/product_media/WER.jpg</images_extra_1>
			<images_extra_1>https://www.test.pl/img/product_media/UUI.jpg</images_extra_1>
			<images_extra_1>https://www.test.pl/img/product_media/RRR.jpg</images_extra_1>
			<images_extra_1>https://www.test.pl/img/product_media/TUY.jpg</images_extra_1>
			

na:

<image>https://www.test.pl/img/product_media/test.jpg</image>
			<images_extra_1>https://www.test.pl/img/product_media/WER.jpg</images_extra_1>
			<images_extra_2>https://www.test.pl/img/product_media/UUI.jpg</images_extra_2>
			<images_extra_3>https://www.test.pl/img/product_media/RRR.jpg</images_extra_3>
			<images_extra_4>https://www.test.pl/img/product_media/TUY.jpg</images_extra_4>

 

Dodam tylko, że tych linijek są zmienne ilości. Raz mam jedynie zdjęcie główne <image>, innym razem <images_extra_XX> w większej ilości. Pomożecie? :)

 

 

3 odpowiedzi

0 głosów
odpowiedź 24 maja 2019 przez pablop76 VIP (123,120 p.)

Emmet ma taką funkcję, ale dotyczy to tworzenia elementów. 

element$*7 -> Tab

Więc będzie problem z zawartością.

Total Commander ma możliwość masowej zmiany nazw plików według wzorca ale nie wiem czy w Twoim przypadku się przyda.

komentarz 25 maja 2019 przez Rafał Nessing Nowicjusz (120 p.)
dziękuję ślicznie ale tu się to rozwiązanie faktycznie nie przyda - są już wartości
0 głosów
odpowiedź 24 maja 2019 przez adrian17 Ekspert (344,860 p.)
Jeśli jest takich zbiorów mało (mogą być długie), to można spróbować użyć z ręki edytora tekstu z pluginem do tworzenia numeracji. Na przykład w Sublime:

https://puu.sh/DwBb5/79c2af25d8.mp4

Pewnie VSCode też miałby coś podobnego. Natomiast jest dużo takich zbiorów, to pewnie będzie to dość uciążliwe...
komentarz 25 maja 2019 przez Rafał Nessing Nowicjusz (120 p.)
dziękuję ślicznie za podpowiedz ale ta opcja niestety też się nie sprawdzi w moim przypadku. Bardzo duży zbiór mam.
0 głosów
odpowiedź 24 maja 2019 przez RafalS VIP (122,820 p.)
edycja 24 maja 2019 przez RafalS

Można też napisać prosty regexowy skrypcik w pythonie, który Ci to przerobi :P

PS napisane brzydko, ale szybko :D

import re, typing

counter = 0


def replace_number(match: typing.Match):
    global counter
    counter += 1
    return f'{counter}{match.group(2)}{counter}'


text = re.sub(r'(?<=images_extra_)(\d+)(>.+</images_extra_)(\1)(?=>)', replace_number, open('dupa.xml').read())
open('dupa.xml', 'w').write(text)

 

komentarz 25 maja 2019 przez Rafał Nessing Nowicjusz (120 p.)

RafalS dziękuję za odpowiedz, pozwolę sobie pozadawać jeszcze kilka pytań bo chyba w tym kierunku idziemy i będziesz mógł mi pomóc :)

linki do numerowania są zlokalizowane zawsze między znacznikami tymi samymi:

</czas_dostawy>

<image> jakiś link </image>
<images_extra_1> jakiś link </images_extra_1>
<images_extra_2> jakiś link </images_extra_2>


<weight>

i chodzi o to żeby za każdym razem gdy skrypt sprawdzi, że to linki między tymi znacznikami zaczynał numeracje od nowa. Może być sytuacja, że między znacznikami

</czas_dostawy>


<weight>

będzie tylko, jeden link w znaczniku 

<image> link jakiś </image>

i wtedy <images_extra_XX> nie musi się tworzyć ale jak się stworzy na pusto tj. <images_extra_XX></images_extra_XX> to też mogłoby być :)

 

mam nadzieję, że nie zagmatwałem bardzo ale już nie myślę :)

Podobne pytania

+1 głos
1 odpowiedź 1,636 wizyt
pytanie zadane 29 września 2020 w Systemy operacyjne, programy przez Monia Nowicjusz (130 p.)
0 głosów
4 odpowiedzi 1,220 wizyt
pytanie zadane 7 sierpnia 2015 w Offtop przez Mavimix Dyskutant (8,390 p.)
0 głosów
1 odpowiedź 828 wizyt
pytanie zadane 13 sierpnia 2019 w HTML i CSS przez Maciej Niedźwiedź Nowicjusz (160 p.)

92,539 zapytań

141,382 odpowiedzi

319,476 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...