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 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 1
    dnes 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

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

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 23
    včera 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    včera 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

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

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 12
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1633 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: ambiguous redirect / Odstranění prázdných řádků

    2.7.2013 13:34 Jura
    ambiguous redirect / Odstranění prázdných řádků
    Přečteno: 664×

    Ahoj,

    mám script co bere řádek po řádku,nějak ho zpracuje a s kolegou jsme dodali filtr co by měl odstranit prázdné řádky a prázdný ukončovací znak na konci.

     

    Ale píše nám to chybu ambiguous redirect

     

    Výsek ze scriptu (poslední řádka

    done < $(cat DBtest.txt | grep -v "^$" | grep -v "^[ ]*$") ambiguous redirect


    Celý script


    #!/bin/bash

    while read line do

    TĚLO SCRIPTU CO PRACUJE S ŔÁDKY

    done < $(cat DBtest.txt | grep -v "^$" | grep -v "^[ ]*$")

     

    a) dá se filtr nějak upravit

    b) Je nějaké lepší řešení ?

     

    Díky

     

    Jura


    Řešení dotazu:


    Odpovědi

    Řešení 1× (Luboš Doležel (Doli))
    2.7.2013 13:55 potato
    Rozbalit Rozbalit vše Re: ambiguous redirect / Odstranění prázdných řádků
    Ambigious redirect v podstatě znamená, že to $(cat...) se neexpanduje na jedno jméno souboru.

    Pokud chceš celý výstup příkazů uvnitř $(cat...) poslat jako vstup toho while read, tak to má být
    cat... | while read
    Lepší řešení by bylo provést celou tu věc, kterou děláš v while read... nějakou rourou, lze-li to.

    Jinak prázdný řádek vyhovuje regulárnímu výrazu ^[ ]*$ taky, takže první grep je zbytečný a stačí
    <DBtest.txt grep -v '^[ ]*$' | while read ...
    2.7.2013 22:43 rubicon
    Rozbalit Rozbalit vše Re: ambiguous redirect / Odstranění prázdných řádků
    Ono to může být i jinak.

    while read ... done < <(grep -v '^ *$' DBtest.txt) nebo

    while read ... done <<< "$(grep -v '^ *$' DBtest.txt)"
    2.7.2013 23:21 potato
    Rozbalit Rozbalit vše Re: ambiguous redirect / Odstranění prázdných řádků
    Může to být různě, ovšem obfuskace roury má smysl asi jen v případě, kdy je problém s tím, že roura vytváří subshell. Jinak jsou zápisy s přesměrováním z process substitution akorát taková shellová masturbace. Žádný proces neušetří a ještě navíc nutí shell celý výstup příkazu kamsi nabufferovat, což roura obecně nevyžaduje.

    Třídu znaků v grepu bych nemazal. Kdo ví, co je v té hranaté závorce doopravdy, třeba to je mezera a tabelátor...

    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.