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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Mit? Miért?<br />
/^[^#]/ Azt a mintát keressük, amikor az első karakter nem<br />
#. Ehhez elsőként a mintát sor elejére illesztjük (ˆ),<br />
majd azt a karakter osztályt vesszük, amely nem a #<br />
karakter. Ezzel ekvivalens a !/^#/ minta is, amely a<br />
sor elején lévő #-jel illeszkedés negáltját adja.<br />
&& És kapcsolat a következő minta-feltétellel.<br />
($1 > 4) Az első oszlop elemének értéke nagyobb, mint négy.<br />
{s += $2; n++} A feltételnek megfelelő sorokra az s változó előző értékéhez<br />
hozzáadjuk a második oszlop értékét, és az n<br />
változó értékét eggyel növeljük.<br />
END{print s/n} Az adatfájl beolvasása után kiírjuk az átlagot.<br />
4.2. megoldása: Az alábbi gawk szkripttel oldhatjuk meg a feladatot:<br />
/^[[:space:]]*#[^$]*/{$NF=""}<br />
{print}<br />
Mit? Miért?<br />
/^[[:space:]]*#[^$]*/ Azt a mintát illesztjük, amikor a sor elején (ˆ) nulla<br />
vagy több üres karakter után ([[:space:]]* )egy #-jel<br />
áll (#), majd utána nulla vagy több karakter következik,<br />
amelyek nem $-jelek ([ˆ$]* ).<br />
{$NF=""} Az adott sor mezőinek számát a NF beépített változó<br />
tartalmazza. Az értékadással az utolsó mezőt üres<br />
stringre változtatjuk, azaz kitöröljük.<br />
{print} Kiíratjuk az adott sort. Mivel ez előtt a feladat előtt<br />
nincs minta, ezért ez a parancs minden sorra végrehajtódik,<br />
akkor is ha módosítottuk a sort, akkor is,<br />
ha nem.<br />
4.3. megoldása: vimben egy lehetséges megoldás a következő:<br />
/[[:alpha:]]\+[[:upper:]][[:alpha:]]*<br />
Mit? Miért?<br />
/ Elindítjuk a keresést.<br />
[[:alpha:]]\+ A minta először legalább egy betűre illeszkedik.<br />
[[:upper:]] Aztán egy nagybetűre illeszkedik a minta.<br />
[[:alpha:]]* Nulla vagy több nem üres karakter van még a szóban.<br />
gawkkal a következő programmal írathatjuk ki a megfelelő szavakat:<br />
134