12.07.2013 Views

jegyzet gyomlált változata - Eötvös Loránd Tudományegyetem

jegyzet gyomlált változata - Eötvös Loránd Tudományegyetem

jegyzet gyomlált változata - Eötvös Loránd Tudományegyetem

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

BEGIN{RS="[[:space:]]"}<br />

/[[:alpha:]]+[[:upper:]][[:alpha:]]*/<br />

Mit? Miért?<br />

BEGIN Az adatfájl beolvasása előtt. . .<br />

{RS="[[:space:]]"} . . . a rekordelválasztót beállítjuk minden üres helyre.<br />

/[[:alpha:]]+<br />

[[:upper:]]<br />

[[:alpha:]]*/<br />

4.4. megoldása: A következő vim paranccsal<br />

:%s/\([0-9]\{4}\)/\1./g<br />

Hasonló a vimben megadott reguláris kifejezéshez, de<br />

itt a + ismétlőoperátort nem kell backslash-sel speciális<br />

karakterré tenni. A /. . . / jelek a reguláris kifejezés<br />

értelmezést adnak a mintának. Mivel nincs a<br />

minta után semmi, így az alapértelmezett print utasítást<br />

végzi a gawk.<br />

Mit? Miért?<br />

: vim Command-line módba kapcsolunk<br />

% A tartomány, amire a Command-line parancsot kiadjuk<br />

az összes sor.<br />

s A substitute parancs rövidítése.<br />

/\([0-9]\{4}\)/\1./ A minta amit keresünk: négy számjegy. Ezt zárójelezzük,<br />

hogy a helyettesítő string-nél visszahivatkozhassunk<br />

a számra. A helyettesítő string-ben \1 -ként<br />

visszahivatkozunk a számra, és egy pontot teszünk<br />

utána.<br />

g A sorokban szereplő minden számra elvégezzük a cserét,<br />

nem csak az első találatnál.<br />

12.5. Az 5. fejezet gyakorló feladatainak megoldásai<br />

5.1. megoldása: Nyissuk meg a fájlt vimmel, majd idjuk ki a következő keresési parancsot:<br />

/[0-9]\+,\?[0-9]* [kmn]\?[msg]<br />

Mit? Miért?<br />

/ Keresés vimben<br />

[0-9]\+ A minta egy vagy több számra illeszkedik.<br />

,\? A minta Legfeljebb egy vesszőre illeszkedik.<br />

[0-9]* A minta nulla vagy több számra illeszkedik.<br />

Egy szóköz.<br />

[kmn]\? Ez a minta nulla vagy egy k, m vagy n betűre illeszkedik.<br />

[msg] A minta pontosan egy m, s vagy g betűre illeszkedik.<br />

135

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!