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
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