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 16:22 | Nová verze

    Alibaba Cloud je dalším sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let. Stejná částka jako u DigitalOcean.

    Ladislav Hagara | Komentářů: 4
    dnes 16:11 | Nová verze

    Byla vydána nová verze 262 správce systému a služeb systemd (Wikipedie, GitHub).

    Ladislav Hagara | Komentářů: 0
    dnes 02:33 | IT novinky

    Canonical oznámil vydání Zephyr 26.04 LTS. Jedná se o komerční distribuci operačního systému pro mikrokontroléry Zephyr (Wikipedie) s podporou až 15 let.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Zajímavý projekt

    Gravity Linux je linuxová distribuce určená pro Apple Silicon s čipy M4 a novějšími. Vydána byla alfa verze pro M4 Mac mini. Gravity Linux je fork Asahi Linuxu.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Zajímavý projekt

    Hister je osobní soukromý vyhledávač, který lze provozovat na vlastním stroji. Umí prohledávat lokální soubory, importovat historii a záložky z webových prohlížečů, procházet vybrané weby a pomocí rozšíření pro Firefox a Chrome indexovat obsah právě navštívených stránek. Nad vytvořeným indexem pak nabízí vyhledávání prostřednictvím webového rozhraní, příkazové řádky a díky podpoře MCP i nástrojům umělé inteligence. Tento

    … více »
    AfD 💙 | Komentářů: 8
    včera 13:33 | IT novinky

    Ministerstvo dopravy uznalo prozatímní schválení asistenčního systému Tesla FSD Supervised vydané nizozemským schvalovacím orgánem RDW. Připojilo se tak k Nizozemsku a dalším pěti evropským státům. Systém je díky tomuto rozhodnutí možné používat za podmínek prozatímního schválení také na území České republiky. Tesla FSD Supervised je asistenčním systémem úrovně 2 podle klasifikace SAE (částečná automatizace řízení). Řidič se

    … více »
    Ladislav Hagara | Komentářů: 21
    včera 11:22 | Upozornění

    Někteří zákazníci O2 mohou aktuálně zaznamenat zhoršenou dostupnost internetových služeb. Na odstranění potíží se pracuje [Facebook].

    Ladislav Hagara | Komentářů: 9
    včera 01:22 | Nová verze

    PyPy (Wikipedie), tj. implementace Pythonu v RPythonu, alternativa CPythonu v C, byla vydána v nové major verzi 8.0.0. Podporuje Python 2.7, 3.11 a 3.12.

    Ladislav Hagara | Komentářů: 0
    včera 00:22 | Komunita
    V rakouském Štýrském Hradci probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2026. O víkendu proběhly přednášky. Videozáznamy jsou k dispozici na YouTube.
    Ladislav Hagara | Komentářů: 3
    20.9. 23:55 | Bezpečnostní upozornění

    V jádře Linux byly nalezeny a v upstremu ve verzích 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.109, 6.18.50 a 7.2.4 již opraveny 4 kritické zranitelnosti umožňující eskalaci práv: DirtyAH6 (CVE-2026-80844), TUNderflow (CVE-2026-81000), PPPoEject (CVE-2026-68121) a DiagSpill (CVE-2026-74469).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2715 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Optimalizace awk/sed

    3.7.2015 12:23 MilanC | skóre: 16
    Optimalizace awk/sed
    Přečteno: 766×
    Ahoj, potřebuji v souboru na řádku 3 přepsat/inkrementovat existující číselnou hex hodnotu o 1. Moc se mi nelíbí, co jsem vymyslel, ale s awk/sed se ještě příliš nekamarádím, tak to neumím vymyslet lépe. Budu rád za doporučení a optimalizaci. Děkuji.
    IV_old=$(awk 'NR==3' $key_file_info | awk '{print toupper($0)}')
    IV_new=$(echo "ibase=obase=16;$IV_old+1" | bc)
    sed -i "3s/.*/$IV_new/g" $key_file_info
    

    Řešení dotazu:


    Odpovědi

    3.7.2015 12:43 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Optimalizace awk/sed
    Tak se mi ještě podařilo vyhodit bc, díky čemuž nemusím převádět na velká písmena
    IV_old=$(awk 'NR==3' $key_file_info)
    IV_new=$(printf %x $((0x$IV_old + 1)))
    sed -i "3s/.*/$IV_new/g" $key_file_info
    
    wamba avatar 3.7.2015 13:57 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Optimalizace awk/sed
    pokud ti nevadí (oneline) Perl, tak třeba
    perl -i -nE '$.==3 ? printf "%X\n", hex($_)+1 : print' /tmp/file_info.txt
    
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    3.7.2015 19:54 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: Optimalizace awk/sed
    Pokud bych musel použít jen awk/sed:
    IV_new=$(awk '{if(FNR==3){printf "%x\n",strtonum("0x"$1)+1}}' $key_file_info)
    sed -i "3c\\$IV_new" $key_file_info
    
    7.7.2015 10:55 RM
    Rozbalit Rozbalit vše Re: Optimalizace awk/sed
    Sedík umí spouštět program uvnitř bufferu, takže jde třeba tohle:

    sed -i '3{s/.*/echo $((0x&+1))/e ; s/.*/printf \"%x\\n\" &/e'} file.txt
    7.7.2015 18:34 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: Optimalizace awk/sed
    Případně kratší varianta za použití kombinace sed a dc:
    sed -i '3{s/.*/\U&/;s/.*/dc -e"16i10o& 1+p"/e}' $key_file_info
    7.7.2015 19:13 RM
    Rozbalit Rozbalit vše Re: Optimalizace awk/sed
    Jj, s dc by to šlo :). Nějak na tu reverzní polskou notaci zapomínam. Takhle je to o pár ms rychlejší.

    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.