abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 02:11 | Nová verze

    Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Komunita

    Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | IT novinky

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 4
    včera 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    24.8. 16:00 | IT novinky

    Řemínky pro Apple Watch, bezdrátová sluchátka nebo nabíjecí adaptéry. Takovou nabídku našli v uplynulých dnech příslušníci Celního úřadu v Liberci při kontrole kamenného obchodu na Náchodsku. Celkem zde zadrželi 3 035 kusů zboží podezřelého z porušování práv duševního vlastnictví. Pokud by se jednalo o originální výrobky, jejich hodnota by podle odhadu přesáhla 10,8 milionu korun.

    Ladislav Hagara | Komentářů: 8
    24.8. 14:11 | Nová verze

    Byla vydána verze 31.1 textového editoru GNU Emacs. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 5
    24.8. 12:22 | Nová verze

    Webový prohlížeč Waterfox (Wikipedie), fork Firefoxu, byl vydán ve verzi 6.7.0. Postaven je na jádru Gecko ESR 153.

    Ladislav Hagara | Komentářů: 0
    24.8. 11:22 | Nová verze

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.17.0. Podrobný přehled novinek v changelogu. Přidána byla základní podpora gamepadů. Opraveno bylo několik zranitelností. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    24.8. 11:00 | IT novinky

    Americká technologická společnost Apple loni v Irsku na daních zaplatila 17 miliard dolarů (zhruba 350 miliard Kč). To představovalo 40 procent celkové částky, kterou firma odvedla na dani z příjmů po celém světě. Vyplývá to z účetních výkazů podniku. Platbu výrazně zvýšilo rozhodnutí Soudního dvora EU z roku 2024, podle něhož měl Apple doplatit Irsku na daních 13 miliard eur (313 miliard Kč).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2496 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: náhrada sedu AWK

    27.9.2009 15:57 pozortucnak | skóre: 21 | blog: vecny_windowsar
    náhrada sedu AWK
    Přečteno: 546×
    zajímalo by mě jak by se toto:


    echo kočka pes | sed -e 's/kočka/kotě/' -e 's/pes/pejsek/'


    řešilo s pomocí AWK.

    Ptám se, protože AWK umožněně použít escape sekvence, tedy můžu například obarvit text...
    Jsem mimořádně obtížný případ

    Odpovědi

    27.9.2009 16:12 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: náhrada sedu AWK
    echo kočka pes | awk '{ gsub(/kočka/, "kotě"); gsub(/pes/, "pejsek"); print $0 }'
    27.9.2009 17:19 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: náhrada sedu AWK
    Zajímavý přístup k syntaxi. U gsub spolehnout na implicitní $0 pro řetězec, jehož se týká náhrada. Pro print, který v tomto ohledu chová stejně, jej uvést explicitně. ;) Já vím, že je to celkem hnidopišina, ale trocha štábní kultury a konzistence je dobrá věc.
    27.9.2009 21:06 12345 | skóre: 41 | blog:
    Rozbalit Rozbalit vše Re: náhrada sedu AWK
    Jej, AWK už jsem dlouho nepoužil a na implicitní chování print jsem prostě zapomněl. Díky za poznámku. Naprosto jí rozumím, já jsem taky hnidopich :-)
    default avatar 27.9.2009 21:20 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: náhrada sedu AWK

    A já jsem další hnidopich. :-D

    gsub nepodporuje awk na Solarisu, který mám v práci. Ten podporuje až nawk.

    A jak na Solarisu tak na AIXu 5, žádná verze awk nepodporuje UNICODE. Podle mých zkušeností, přechod na awk způsobí jen problémy.

    27.9.2009 22:49 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: náhrada sedu AWK
    Mate pravdu... na Linuxových portálech člověk někdy (chybně) automatický předpokládá gawk (a GNU nástroje obecně). Nicméně je pravda, že na Slarisu obvykle volám nawk celkem automatcky.

    Ale hlavně, správná odpověď byla stejně sub a ne gsub, protože ten sed taky říkal s/pat1/pat2/ a ne s/pat1/pat2/g (to tedy stále neřeší ten Solaris a awk vs. nawk). A není to hnidopišení legrace? ;)
    default avatar 28.9.2009 09:43 default | skóre: 22 | Madrid
    Rozbalit Rozbalit vše Re: náhrada sedu AWK
    A není to hnidopišení legrace? ;) 

    Proto se ho tak rád účastním a rozmělňuji do nekonečna. :-D

    27.9.2009 21:42 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: náhrada sedu AWK
    Ptám se, protože AWK umožněně použít escape sekvence, tedy můžu například obarvit text...
    Se zatnutými zuby to jde i v sedu :-):
    echo kočka pes \
        | sed \
            -e 's/kočka/\\\\033[01;32mkotě\\\\033[0m/' \
            -e 's/pes/\\\\033[01;34mpejsek\\\\033[0m/' \
        | xargs echo -e
    Huh, snad se to zkopírovalo správně a snad to funguje i na jiném než mém terminálu.
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    27.9.2009 23:15 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: náhrada sedu AWK
    No, nejsem si jistý, že by to v awk vypadalo nutně estetičtěji. sed, zejména pokud se to trochu zkomplikuje a začnou se používat podmínky a skoky a odkladiště... se docela blbě čte (ale zase se dobře píše, pokud tedy chceme ušetřit psaní na klávesnici), ale tohle není ten případ (to je jenom nahrazení "škaredým" řetězcem.

    Co může pomoci to zčitelnit: sed nemusí mít jednotlivé vzory oddělené / (kumulace dopředných (navíc občas "escapovaných") lpmítek a houf zpětných tomu moc neprospívá. Třeba na Solarisu to může být cokoliv kromě \ a <newline>. Osobně právě kvůli čitelnosti upřednostňuji # nebo |.

    No a pak si můžete pomoc nadefinováním proměnných v shellu a zpřehlednit to jejich použitím.

    No a ještě pokud se chcete vyhnout mohutnému "escapování" a kumulování zpětných lomíte, tak můžete vkládat rovnou <ESC> pomocí ctrl-v, bude to možná o drobet lépe vypadat, ale zase si bezpečně rozbijete kopírovat/vložit myší.

    Třeba takhle:
    zelena='^[[01;32m'
    modra='^[[01;34m'
    seda='^[[0m'
    echo kocka pes \
            | sed \
                    -e "s|kocka|${zelena}kote${seda}|" \
                    -e "s|pes|${modra}pejsek${seda}|" \
            | cat
    
    28.9.2009 06:10 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: náhrada sedu AWK
    Jo, jenže echo nevypisuje text průběžně, ale najednou...
    Což může občas docela vadit...
    Nešel by použít perl?
    Jsem mimořádně obtížný případ

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.