OT: Editace XML shell scriptem

Zbyněk Burget zburget at burgnet.cz
Sat Apr 24 21:00:18 CEST 2010


Dne 24.4.2010 19:25, Dan Lukes napsal(a):
> On 04/24/10 13:46, Zbyněk Burget:
> Regularni vyrazy jsou ale esencialni zaklad pro celou radu dalsich
> uzitecnych utilit - pocinaje "grep", pres uz zminene "awk", az po,
> treba, perl.

ale to jo, ja s nimi nemam nejaky zasadni problem - jen kdyz vidim 
nejaky zapeklity prikaz sedu s regularnim vyrazem na radek, tak z toho 
mam vzdycky husi kuzi.


>> No, ted uz je mi to opravdu jasne - ja v prvni rade byl mimo, jak sed
>> zpraovaval cely ten vyraz - ted bych rekl, ze zacinam chapat, jak
>> vlastne funguje (konecne po letech... :-) )
>
...
> Druha rovina je pochopit syntaxi toho "programovaciho jazyka" - ale ta
> je az na par speku trivialni.

tohle je rovina, na kterou prave konecne padlo svetlo :-)

>> A jeste jedna otazka nakonec - zkousel jsem jeste jednu fintu, a to
>> konce radku nesmazat, ale vymenit za nejaky retezec (napr. neco jako
>> ###newline###
>
> Ja s oblibou pouzivam k tomuto ucelu ASCII znak "RS". Zaprve prakticky
> nemusim resit, jestli se v puvodnim textu nahodou nevyskytuje, za druhe
> - je stejne dlouhy jako puvodni oddelovac, coz je pro nektere upravy
> vhodne.

Jo, to je dobry napad - obcas se kouknout do ASCII tabulky a zjistit, ze 
tam jsou znaky, ktere se i daji pouzit. Nicmene budu asi za vola, ale 
neprisel jsem na to, jak tam muzu tenhle znak vrznout (a pak zase, jak 
ho vlastne najit...). Mimochodem - kdyz se tam bude nejakou oklikou cpat 
RS, nepujde tam stejnou cestou cpat i LF? Tedy pokud se tam RS proste 
nepise jako Alt+030 - predpokladam, ze je na to systemovejsi metoda.

>
>> Jen jsem narazil na to, ze v te substituci nemuzu nahrazovat za \n,
>> ale musi tam byt opravdu escapovane
>> zalomeni radku.
>
> Manual sedu je v tomto ohledu velmi explicitni:
> ---------------------
> To specify a newline character in the replacement string, precede it
> with a backslash.
> ---------------------

jj, cetl jsem

>
>> opravdu to nejde obejt nejakym znakem
>> abych ten prikaz dostal na jednu radku?
>
> Ale vzdyt ten prikaz je stale jedna radka. A jako jedna radka se take
> chova. A ze je na obrazovce opticky zalomeny ? To je ale treba hodne
> dlouhy radek taky - a porad je to jeden radek.
>
> Nevim, kterou konkretni potiz presne resis, ale zatim odhaduju, ze
> vlastne zadnou - jde spis nejaky psychicky blok ;-)

Psychicky blok by bylo to posledni, co by mi vadilo - jde mi o to, abych 
ten prikaz mohl zapsat do devd.conf - a tam mi to proste zalomenoy radek 
nebere, at se snazim, jak umim. Chci se vyhnout tomu, abych ten skript 
musel mit ulozeny nekde bokem a z devd ho volat...

-- 
Zbyněk Burget
Nádražní 224
798 26 Nezamyslice

tel: 588 580 000, 739 930 931
IČ:  606 88 220
DIČ: CZ7210184674


More information about the Users-l mailing list