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ářů: 0
    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ářů: 5
    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ářů: 19
    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%)
     (20%)
    Celkem 2712 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: regularni vyraz v awk

    21.5.2005 00:46 Roland | skóre: 3
    regularni vyraz v awk
    Přečteno: 578×
    Dobry den, nejak si nevim rady s regularnim vyrazem v awk. Z vypisu ls -Rl potrebuji zjistit ktery radek zacina znakem [ nebo . a podle toho se zachovat

    ls -Rl `$pwd` | grep -v ^celkem | grep [^*] | awk '{if (($1 == "[^[]") || ($1 == "[^\.]") {print $1} else {print $9}}'

    za rady dekuji

    Odpovědi

    21.5.2005 08:06 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: regularni vyraz v awk
    To je zase nějaká domácí úloha na reimplementaci findu v awk? Pokud ne, použij find.

    Jinak, kde začít...

    Co to je proboha `$pwd` a proč tam je? Nemá to být $PWD, když tedy už vůbec ls potřebuje argument?

    grep ... | grep ... | awk má v soutěži o nejzbytečnější grep slušnou naději na umístění na čelní posici.

    grep -v ^celkem funguje leda s českým locale, jinak tam lze slovo celkem stěží očekávat.

    [^*] se expanduje na co? Na seznam jednopísmenných souborů v adresáři, které se nejmenují *. Jinými slovy nepředvídatelně.

    awk. Přečti si Getting started with awk v manuálu. Chceš totiž ve skutečnosti

    /[^[]/ { ... }

    neboli

    PATTERN { ACTION }

    takhle se awk běžně používá.

    A Expressions. Operátor == je totiž porovnání řetězců, kdybys už chtěl matchovat regulární výrazy, tak se matchují operátorem ~.
    21.5.2005 12:16 Roland | skóre: 3
    Rozbalit Rozbalit vše Re: regularni vyraz v awk
    "Jedna se o silenou soutez na CVUT FEL jmenem: Napis si svuj FIND aneb semestralni uloha z X36UNX..."

    1. grep ^celkem, no muzu tam dat total nebo vzit v potaz x-dalsich mutaci unixu a linuxu - me staci kdyz to predvedu na jednom stroji, stejne je to nesmysl takto psat find...
    2. [^*] odstrani prazdne radky
    3. takze to bude vypadat nejak takto? awk '{if (($1 == "/[^[]/") || ($1 == "/[^\.]/") {print $1} else {print $9}}'
    4. na Solarisu mi fungovalo awk '{if ($1 == "[^/*]"){print $9} if ($1 == "[^/]") {print $1}}'

    jde mi jen o to rozlisit z vystupu ls -RL jestli se jedna o "cestu" nebo adresar a soubor
    21.5.2005 12:16 Michal Kubeček
    Rozbalit Rozbalit vše Re: regularni vyraz v awk
    To je zase nějaká domácí úloha na reimplementaci findu v awk?

    Řekl bych, že pořád ta samá… Nejlepší stejně asi bude z toho shellového skriptu spustit awk a z něj nenápadně zavolat find… :-)

    Zajímalo by mne jen, zda cena takto naprogramovaného find (strávený čas krát nějaká rozumná hodinová sazba) přesáhne cenu, za kterou se prodávají RHEL, SLES nebo Solaris… :-)

    21.5.2005 12:39 Roland | skóre: 3
    Rozbalit Rozbalit vše Re: regularni vyraz v awk
    Jsem rad ze vas tu alespon pobavim :)

    Ale opravdu nevite jak na ten regularni vyraz? Potrebuji, aby se na vsechny radky co zacinaji '.' nejak zereagovalo...
    21.5.2005 12:54 Michal Kubeček
    Rozbalit Rozbalit vše Re: regularni vyraz v awk
    Už jsem vám napsal několikrát, že metodu parsování výstupu 'ls -lR' považuji za naprosto nevhodnou a že daleko vhodnější by bylo řešit to rekurzivním procházením adresářového stromu. Ale komu není rady, tomu není pomoci…

    Ale jinak v tom nevidím problém:

    ls -lR | awk '/^\./ { print "hele, tečka!"; }'

    21.5.2005 13:16 Roland | skóre: 3
    Rozbalit Rozbalit vše Re: regularni vyraz v awk
    Dekuji!
    Asi jsem vase vyzvy ve zmeti zprav prehledl, zkusim si o rekurzivnim procházeni adresaroveho stromu neco vyhledat. Kdybyste mel nejaky zajimavy link, byl bych za nej rad...
    21.5.2005 13:57 Michal Kubeček
    Rozbalit Rozbalit vše Re: regularni vyraz v awk
    Na to není potřeba nic hledat, lehký nástřel:

    function recurse
    {
      for f in *; do
        # tady s tím souborem něco udělám
        if [ -d "$f" ]; then
          cd "$f"
          recurse
          cd ..
        fi
      done
    }
    

    Samozřejmě to bude chtít trochu doladit (prázdné adresáře, skryté soubory, zacyklené linky, …).

    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.