[elektro] Bináris literál konverter

elight elight at gmail.hu
Wed Feb 8 13:57:30 CET 2017


Szia
Érdemes!
Főleg, ha rendszeresen
akadnak szöveges-számos  feladataid..

Előfordult egyszer
   hogy 3 cég honlaprendszeréből
szedtünk össze kereszt referencia
adatbázist.. A keresős, mintaillesztős
rész készült PERL-ben.
Előtte, mikor nekiálltunk,
  el se akartam hinni azt ,
hogy amit szeretnének,
azt ilyen egyszerűen
néhány húsz sorban
egy programmal is
vidáman összehozható.

Üdv István

2017-02-08 13:41 keltezéssel, Bali Zoltan írta:
> Köszönöm a felhomályosítást :).
> Most utána nézek a perlnek, hogy
> mire is jó még.
>
> Üdv.  Zoli
>
> 2017.02.08. 13:27 keltezéssel, Kiss Gabor írta:
>> On 02/08/2017 11:16 AM, Bali Zoltán wrote:
>>> Köszi, de ez nekem magas :) .
>> Nem kell érteni mit csinál, akkor is működik.
>> Bármi más programmal konvertálsz, annak sem látod a belsejét. :-)
>>
>>> perl -i.bak -pe 's/(0b[01]+)/sprintf("0x%x",oct($1))/ge' file1 file2 
>>> ...
>> De elmagyarázhatom.
>>
>> perl: ez a program, amit indítani kell.
>> -i.bak: az argumentumként kapott file-okról .bak kiterjesztésű másolatot
>> csinál, azt az eredeti tartalmát módosítja.
>> -p: minden input sorra végrehajtja a megadott műveletet, majd küldi az
>> outputra.
>> -e: a script nem file-ban van, hanem a következő argumentum lesz az. (A
>> két aposztróf közt keresd! :-)
>> file1 file2 ...: az összes konvertálandó file neve.
>>
>> És végül maga a script:
>> s/valamiről/valamire/ge: reguláris kifejezés illesztése - pongyolán
>> fogalmazok most - az input sorra, majd helyettesítés akár többször is,
>> úgy, hogy a helyettesítő stringet kifejezésként ki kell értékelni.
>> 0b[01]+: 0b után legalább egy karakter hosszú, 0-kból és 1-ekből álló
>> sorozat.
>> oct($1): a bal oldalon bezárójelezett kifejezésre illeszkedő string
>> értelmezése (valamilyen számrendszerbeli (2, 8, 16)) számként.
>> Az sprintf()-t talán nem kell magyaráznom. :-)
>>
>> kissg
>
>
> -----------------------------------------
>          elektro[-flame|-etc]



More information about the Elektro mailing list