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

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

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

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Komunita

    Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.

    Ladislav Hagara | Komentářů: 2
    včera 20:33 | IT novinky

    Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Komunita

    MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 0
    13.9. 17:33 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.

    Ladislav Hagara | Komentářů: 0
    13.9. 01:33 | IT novinky

    Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si

    … více »
    Ladislav Hagara | Komentářů: 10
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (82%)
     (7%)
     (3%)
     (3%)
     (4%)
     (2%)
    Celkem 184 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    Rozcestník

    Dotaz: Problém s načítáním souboru

    5.11.2012 21:12 VI5
    Problém s načítáním souboru
    Přečteno: 324×
    Hoj, snažím se načíst jednotlivé řádky ze souboru a uložit je do pole. Ať dělám co dělám, echo vypisuje stále 0. Nevidí někdo problém? Díky
    #!/bin/bash
    
    ARR=()
    
    cat /def/$FILE | while read LINE
    do
     ARR+=("$LINE")
    done
    
    echo ${#ARR[*]} 

    Odpovědi

    5.11.2012 21:47 l4m4
    Rozbalit Rozbalit vše Re: Problém s načítáním souboru
    Roura vytváří subshell, po jehož skončení samozřejmě zmizí i proměnná. Lze použít pouze přesměrování, nikoli rouru.
    5.11.2012 23:50 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: Problém s načítáním souboru
    Je třeba vyhnout se opakovanému spouštění subshellu a jak píše l4m4 - použít přesměrování.
    while read LINE
    do
     ARR+=("$LINE")
    done < /def/$FILE
    
    Případně lze využít i tuto syntaxi:
    for LINE in $(< /def/$FILE)
    do
     ARR=$((ARR+1))
    done
    
    Zde ale netuším, zda bash skutečně spouští subshell (ale jen jednou!) nebo zda-li využije přesměrování. Syntaxe spíše napovídá, že se interně spustí `cat /def/$FILE` a přesměruje standardní výstup.
    6.11.2012 00:22 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: Problém s načítáním souboru
    Vlastně i v Tvém příkladě se subshell spustí jen jednou. Ukončí se při uzavření roury (skončení cyklu).
    6.11.2012 12:57 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Problém s načítáním souboru
    for LINE in $(< /def/$FILE)
    do
     ARR=$((ARR+1))
    done
    To je nějaký nesmysl, to nacpe všechny slova ze souboru do toho for-in bloku a ve výsledku to nedělá to, co má (nečte to po řádcích). Možná jste měl na mysli tuto syntaxi, která je podobná jako ta s pipe, ale je to bez pipe, tudíž se proměnné zachovají:
    while read LINE; do
    ARR=$((ARR+1))
    done < <(cat /def/$FILE)
    6.11.2012 13:35 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: Problém s načítáním souboru
    Ano, ta druhá varianta bude fungovat pouze tehdy, když na jednotlivých řádcích vstupu bude vždy jen jedno slovo. Nedošlo mi to, když jsem zkoušel napsat rychlejší variantu téhož. No nepovedlo se, ale díky za upozornění ;-).
    6.11.2012 14:27 Kit
    Rozbalit Rozbalit vše Re: Problém s načítáním souboru
    Hlavně je IMHO hloupost v bashi řešit podobné úlohy přes pole. Je potřeba opustit procedurální přístup a podívat se na celé zadání z jiného úhlu.
    7.11.2012 12:28 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Problém s načítáním souboru
    bash na to má mapfile, stačí napsat
    mapfile -t ARR < /def/${FILE}
    
    Mimochodem, referenční příručka
    When your hammer is C++, everything begins to look like a thumb.
    7.11.2012 16:35 Kit
    Rozbalit Rozbalit vše Re: Problém s načítáním souboru
    Pěkná a rychlá vychytávka. Všiml jsem si, že má i alias readarray.

    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.