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í
×
    včera 20:44 | Zajímavý článek

    Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.

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

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.

    Ladislav Hagara | Komentářů: 1
    včera 11:44 | Nová verze

    Kermit, tj. protokol pro přenos souborů, vznikl před 45 lety. Při této příležitosti byla po 15 letech od vydání poslední stabilní verze 9.0.302 vydána nová stabilní verze 11 implementace C-Kermit. S podporou IPv6.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Zajímavý článek

    První verze konverzního nástroje Pandoc byla vydána před 20 lety. Jeho autor John MacFarlane při tomto výročí rekapituluje jednotlivé etapy vývoje a přidávání nových funkcí – rozšíření nejen Markdownu a podporu mnoha dalších formátů.

    |🇵🇸 | Komentářů: 0
    včera 00:55 | Pozvánky

    Srpen přinesl nejen další spalující vedro, ale také Virtuální Bastlírnu s neméně žhavými novinkami. Využijte tedy předpovědi na deštivý čtvrteční večer a od 20:00 se připojte online k tomuto neformálnímu setkání kutilů, techniků a vědců, kde se strahovskými bastlíři proberete nejzajímavější věci, na které jste narazili za poslední měsíc. Pokud jde o novinky, řeč zcela jistě přijde na systém INDX pro tiskárny Průša, který na konci

    … více »
    bkralik | Komentářů: 0
    3.8. 17:22 | Zajímavý článek

    Firma T-Mobile blokovala „dezinformační web“ AC24 bez toho, aniž by k tomu měla závazný pokyn orgánů veřejné moci. Píše to ve svém rozsudku Městský soud v Praze, který po čtyřech letech uzavřel kauzu blokace zmíněného webu. Operátor musí uhradit škodu ve výši 35 tisíc korun. Advokát společnosti T-Mobile se snažil i u odvolacího senátu argumentovat tím, že firma jednala v dobré víře, když na stránky omezila přístup poté, co ji k tomu vyzvalo

    … více »
    Ladislav Hagara | Komentářů: 22
    3.8. 16:33 | IT novinky

    Padla obžaloba v bitcoinové kauze. Státní zástupkyně chce pro Blažka 6,5 roku vězení, pro Titze 8 let.

    Ladislav Hagara | Komentářů: 1
    3.8. 15:22 | IT novinky Ladislav Hagara | Komentářů: 3
    3.8. 14:22 | Komunita

    Na GitHubu byl publikován seznam 55 kritických bezpečnostních chyb v SQLite s přiřazenými CVE čísly. JFrog Security informuje, že se jedná jenom o AI slop, části kódu na které CVE odkazují, v daných verzích vůbec neexistují. Upozorňuje také, že čísla CVE jsou přiřazována bez ověřování.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2322 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: regularni vyraz v awk

    21.5.2005 00:46 Roland | skóre: 3
    regularni vyraz v awk
    Přečteno: 493×
    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.