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
--
FreeBSD mailing list ([email protected])
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem