SED - vyhladavanie
Nedavno som pouzil uspesne sed na upravu textoveho suboru (xml). Trvalo to sice hooooodne dlho, ale podarilo sa.
Teraz potrebujem nieco obdobne, vlozit kusok textu na vopred zadefinovane miesto. To si najdem podla charakteristickeho reazca. To by som vedel, ale problem je, ze potrebujem vlozit tento text iba za PRVY vyskyt charakteristickeho retazca, v subore je ich viac. Nikde nemozem najst ako to zapisat.
Tohle jsi zkoušel?
https://stackoverflow.com/questions/148451/how-to-use-sed-to-replace-only-the-first-occurrence-in-a-file
presne na to teraz pozeram, ale toto je nejaky uplne iny zapis
Teraz som narazil na problem, ze vyhladavany retazec je v podstate v 3 riadkoch , na konci kazdeho je CRLF pravdepodobne, a to mi robi trosku dost problem . . . vo vyhladavani
EDIT: vzorovy sa lisi od realneho, realny je jeden straaaaaasne dlhy retazec bec CRLF
Musi to byt sed? Pokud je to XML, proc nepouzijes nejaky CLI tool, ktery s nim umi primo pracovat a podporuje treba xpath? Treba xmlstarlet.
Idem na to pozriet, ten sed sa mi pacil, lebo je to viac univerzalnejsie, ked sa s tym naucis (akykolvek textovy subor)
Sed je sice univerzalni, ale kdyz potrebujes delat queries nad tim XML (treba podle hotnot elementu, nebo jejlich atributu), tak se ten xmlstralet hodi vice, protoze podporuje xpath (dotazovaci jazyk nad xml)...
Ty si to tusim privolal
MAs s tym skusenosti? Ja pohladam, ale len tak ci je to v tomto vobec mozne
tag ID (asi 100x), pod kazdym asi 10 dalsich tagov, potrebujem zmenit napr tag5 ale len ked tag2="A'
Je nieco take v tom mozne?
Vstup (text.xml):
Prikaz, ktery zmeni hodnutu tag2 na "vejce8", u elementu car kde tag1 ma hodnotu 3.
Vystup:
Je to ono?
DIky, zatial neviem, ako prvy krok je to vyborne na studium.
Idem si spravit priklady a popasovat sa s tym.
Este raz diky.