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 04:00 | Nová verze

    Byla vydána nová verze 15.0 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 03:00 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04 1.1 a 20.04 OTA-11. Vedle oprav chyb a drobných vylepšení je řešen také středně závažný bezpečnostní problém.

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

    Fedora zve na dvoudenní testování (2. a 3. prosince), během kterého si můžete vyzkoušet nové webové uživatelské rozhraní (WebUI) projektu FreeIPA. Pomozte vychytat veškeré chyby a vylepšit uživatelskou zkušenost ještě předtím, než se tato verze dostane k uživatelům Fedory a celého linuxového ekosystému.

    Ladislav Hagara | Komentářů: 3
    včera 13:22 | IT novinky

    Eben Upton oznámil zdražení počítačů Raspberry Pi, kvůli růstu cen pamětí, a představil 1GB verzi Raspberry Pi 5 za 45 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 04:44 | Humor

    Linus Torvalds na YouTube kanálu Linus Tech Tips staví dokonalý linuxový počítač.

    Ladislav Hagara | Komentářů: 6
    včera 04:11 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.17 oznámil Linus Torvalds vydání Linuxu 6.18. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies. Vypíchnout lze například podporu protokolu PSP (PSP Security Protocol, PSP encryption of TCP connections).

    Ladislav Hagara | Komentářů: 0
    včera 03:55 | Nová verze

    Byla vydána nová stabilní verze 25.11 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Xantusia. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

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

    Richard Hughes na Mastodonu oznámil, že se společnost Framework Computer stala sponzorem služby LVFS (Linux Vendor Firmware Service) umožňující aktualizovat firmware zařízení na počítačích s Linuxem.

    Ladislav Hagara | Komentářů: 0
    28.11. 18:55 | Humor

    Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.

    Ladislav Hagara | Komentářů: 18
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 423 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Jak načíst ručně zadanou hodnotu v cyklu, který čte soubor po řádcích?

    28.11.2009 15:50 FrantaS | skóre: 12 | Hlučín
    Jak načíst ručně zadanou hodnotu v cyklu, který čte soubor po řádcích?
    Přečteno: 187×
    Tvořím skript, který zpracovává soubor řádek po řádku pomocí:

    while read radek; do echo "Zpracovat?; read radek2; if ....; volani funkce taky s read line; done < soubor

    Pro načtení ručně zadané hodnoty se read uvnitř nevykoná. Chtěl bych použít read ještě v dalších funkcích, ale samozřejmě ani tam nefunguje. Jak to řešíte, prosím?
    Ať se nám daří.

    Řešení dotazu:


    Odpovědi

    Řešení 1× (FrantaS (tazatel))
    28.11.2009 16:05 l4m4
    Rozbalit Rozbalit vše Re: Jak načíst ručně zadanou hodnotu v cyklu, který čte soubor po řádcích?
    Kde je jaká ručně zadaná hodnota? Standardní vstup celé té věci uvnitř while ... done je ze souboru soubor.

    Chceš-li číst pomocí read pomíchaně z různých zdrojů, bude zapotřebí použít různé filedeskriptory. Demonstrace principu:
    exec 5<soubor
    read -u 5 line1
    read -p "enter value>" value
    read -u 5 line2
    echo "line1 = $line1"
    echo "line2 = $line2"
    echo "value = $value
    
    28.11.2009 16:19 FrantaS | skóre: 12 | Hlučín
    Rozbalit Rozbalit vše Re: Jak načíst ručně zadanou hodnotu v cyklu, který čte soubor po řádcích?
    while read radek; do
    echo "Zpracovat?;
    read radek2;    Rucně zadaná hodnota
    if [ "$radek2" = "a" ]; then
    ...
    fi
    volani funkce taky s read line;
    done < soubor
    
    Díky, ale přiznám se, uniká mi smysl odpovědi. Načítat chci jen jeden soubor. Ručně zadaných hodnot potřebuji více.
    Ať se nám daří.
    28.11.2009 16:26 l4m4
    Rozbalit Rozbalit vše Re: Jak načíst ručně zadanou hodnotu v cyklu, který čte soubor po řádcích?
    Nechceš načítat jeden soubor. Chceš načítat standardní vstup a nějaký jiný soubor, a to napřeskáčku. Pokud to chápu,

    read radek

    má číst ze souboru a

    read radek2

    z terminálu. Ale když přesměruješ celé while ... done ze souboru, tak všechny read uvnitř čtou z toho souboru.
    Řešení 1× (FrantaS (tazatel))
    28.11.2009 16:28 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Jak načíst ručně zadanou hodnotu v cyklu, který čte soubor po řádcích?
    To ma za teba cele napisat? Si lenivy aspon vyskusat a zamysliet sa nad skoro hotovym riesenim, ktore si dostal pod nos? Prvy riadok otvori "soubor" a priradi mu deskriptor 5. Druhy riadok nacitava z deskriptoru 5 a treti nacitava "od uzivatela". Mas tam jasne ukazany princip, ze read sa da ovladat skade ma citat a nemusi stale iba z STDIN. Hlavna pointa je, pri tomto postupe zostava "soubor" stale otvoreny a opakovane volane read -u 5 ... vracia stale dalsi a dalsi riadok zo "souboru". Kdezto opakovane volany read a <soubor vracia stale 1. riadok, co vacsinou nebyva to co ludia bezne chcu.
    If you hold a Unix shell up to your ear, you can you hear the C.
    28.11.2009 19:28 FrantaS | skóre: 12 | Hlučín
    Rozbalit Rozbalit vše Re: Jak načíst ručně zadanou hodnotu v cyklu, který čte soubor po řádcích?
    Velmi děkuji. Myslím, že to bude stačit. Demonstrace principu a vynadání do bezvědomí :)) s perfektním popisem udělaly svoje a již jsem v demonstraci začal i něco vidět. ... Nechápu jak to, že jsem nic takového doposud nepotřeboval.
    Ať se nám daří.

    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.