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 03:44 | Nová verze

    NVIDIA na konci ledna vydala v beta verzi nativního linuxového klienta své cloudové herní služby GeForce NOW. Včera oznámila ukončení beta verze a oficiální podporu Linuxu.

    Ladislav Hagara | Komentářů: 0
    dnes 02:33 | Nová verze

    Byla vydána nová verze 3.5.0 nástroje pro inkrementální kopírování souborů rsync (Wikipedie). Přehled oprav a vylepšení v souboru NEWS. Řešeno je 33 zranitelností.

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

    Organizace Apache Software Foundation (ASF) vydala verzi 31 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

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

    Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.

    |🇵🇸 | Komentářů: 0
    včera 14:22 | IT novinky

    Slovensko odhalilo ruské součástky ve dvou testovaných zařízeních na zjišťování přestupků v silničním provozu a označilo je za bezpečnostní riziko. S odvoláním na vyjádření slovenského Národního bezpečnostního úřadu (NBÚ) to včera oznámil ministr vnitra Matúš Šutaj Eštok. Zároveň ohlásil ukončení spolupráce svého úřadu s dodavatelem části uvedeného systému, slovenskou společností Soitron. Opozice, která na problematické kamery upozornila už dříve, vyzvala k odvolání ministra vnitra.

    Ladislav Hagara | Komentářů: 9
    včera 06:00 | IT novinky

    Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.

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

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

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    Byla vydána nová verze 26.1 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Bian-May. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 0
    12.8. 19:00 | IT novinky

    Na akci Made by Google 2026 (YouTube) byla oficiálně představena jedenáctá generace telefonů Pixel s novým čipem Google Tensor G6 a hodinky Pixel Watch 5.

    Ladislav Hagara | Komentářů: 1
    12.8. 17:11 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se spolu s partnery z dalších zemí připojil ke společnému upozornění (Joint Cybersecurity Advisory) týkajícímu se probíhající kybernetické kampaně skupiny LAUNDRY BEAR zaměřené na uživatele e-mailové platformy Zimbra Collaboration Suite (ZCS) nejméně od července 2025. NÚKIB doporučuje organizacím využívajícím Zimbra Collaboration Suite neprodleně ověřit, zda

    … více »
    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2384 hlasů
     Komentářů: 31, poslední včera 00:27
    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: 464×
    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.