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

    Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře děti v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | Zajímavý projekt

    Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 12:22 | Nová verze

    Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

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

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 9
    13.2. 19:44 | Zajímavý projekt

    Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.2. 17:44 | Nová verze

    Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    13.2. 12:11 | IT novinky

    Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.

    Ladislav Hagara | Komentářů: 18
    13.2. 11:44 | IT novinky

    Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    13.2. 04:44 | Humor

    Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.

    NUKE GAZA! 🎆 | Komentářů: 34
    12.2. 20:11 | Nová verze

    Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (4%)
     (1%)
     (12%)
     (27%)
    Celkem 871 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    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: 339×
    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.