Mindkettő majdnem ugyanazt csinálja:

       awk '/ [A-Z]+$/ {print substr($0,1,12) substr($0,147,3) }'

       ruby -n -e 'puts $_[0,12]+$_[146,3] if /[A-Z]{3}$/'

Vagyis kiírja az input sor egy részét, de csak ha a sor utolsó három karaktere (az awk esetében – ezért csak majdnem - csak az utolsó space után legalább egy karakter a sor végéig) nagybetűs. És akkor melyiket szeressem?

Az awk ennyit fut:

real    0m6.671s

user    0m3.845s

sys     0m0.547s

A ruby meg ennyit:

real    0m8.000s

user    0m6.165s

sys     0m0.634s

Persze ugyanarra a szép nagy fájlra.

A válasz egyszerű. Az awk szinte mindenhol van. Ez jó. Ruby csak ott, ahová direkt telepítettem. De az awk-ban csak akkor tudom pontosan megadni azt hogy három karaktert akarok pontosan ellenőrizni, ha gawk-t használok --re-interval kapcsolóval. Vagy ha így adom meg: / [A-Z][A-Z][A-Z]$/.

Szóval a ruby nekem erre a feladatra jobban tetszett.

Amúgy meg tök mindegy, csak kész legyen.




Ez az üzenet, s bármely melléklete bizalmas információkat tartalmazhat és kizárólag a címzettnek szól.
Amennyiben nem Ön ennek az üzenetnek a címzettje, kérjük azonnal értesítse a feladót, s az üzenetet törölje a rendszeréből.

This message and any attachment may be confidential and intended exclusively for the addressee.
If you are not the intended addressee please notify the sender immediately and delete this message and any attachment from your system.

OTP Bank Nyrt.
1051 Budapest, Nádor utca 16.
Cégjegyzékszám: Cg.: 01-10-041585; Fővárosi Bíróság Cégbírósága

Posted via email from Zsoltika

0 Comments:

Post a Comment



Újabb bejegyzés Régebbi bejegyzés Főoldal