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

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.

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

    Společnost System76 vydala Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC. Videoukázky na YouTube.

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

    Byla vydána verze 1.92.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2024. Oceněni byli Andy Wingo, jeden ze správců GNU Guile, Alx Sa za příspěvky do Gimpu a Govdirectory jako společensky prospěšný projekt.

    |🇵🇸 | Komentářů: 1
    včera 18:55 | Nová verze

    Bylo vydáno Eclipse IDE 2025-12 aneb Eclipse 4.38. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Nová verze

    U příležitosti oslav osmi let prací na debianím balíčku vyšlo GPXSee 15.6. Nová verze přináší především podporu pro geotagované MP4 soubory, včetně GoPro videí. Kdo nechce čekat, až nová verze dorazí do jeho distribuce, nalezne zdrojové kódy na GitHubu.

    Martin Tůma | Komentářů: 4
    včera 09:22 | Nová verze

    Monado, tj. multiplatformní open source implementace standardu OpenXR specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro virtuální realitu (VR) a rozšířenou realitu (AR), bylo vydáno ve verzi 25.1.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 02:44 | Nová verze

    Byla vydána listopadová aktualizace aneb nová verze 1.107 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.107 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    10.12. 19:22 | Zajímavý článek

    Pornhub zveřejnil podrobné statistiky za rok 2025. V části věnované zařízením a technologiím se lze dočíst, že 87 % přenášených dat směrovalo na telefony, 2 % na tablety a 11 % na desktopy. Operační systém Linux běžel na 6,3 % desktopů. O 22,4 % více než před rokem. Firefox má na desktopu 8,4 % podíl.

    Ladislav Hagara | Komentářů: 7
    10.12. 13:11 | Pozvánky

    Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak dorazte na prosincovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. O čem budou tentokrát strahováci referovat? Téměř každý už si všiml významného zdražení RAM a SSD, jsou zde ale i příjemnější zprávy. Průša uvádí

    … více »
    bkralik | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (48%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (15%)
     (17%)
    Celkem 456 hlasů
     Komentářů: 19, poslední včera 20:04
    Rozcestník

    Dotaz: Načtení souboru do pole

    14.5.2007 10:43 pok | skóre: 11
    Načtení souboru do pole
    Přečteno: 1395×
    Zdravím.

    Chci nějak elegantně načíst obsah souboru do pole, řádek po řádku. Původně jsem si to představoval takto:

    a=( `cat vstup.txt` )

    ale protože na jednotlivých řádcích vstupního souboru je víc slov oddělených mezerou, nedaří se mi. Doufal jsem že toto pomůže:

    a=( $( echo $( cat vstup.txt | sed -e "s/\(.*\)/\"\1\"/g" ) ) )

    Ale i takto dostávám jednotlivé prvky v poli jako jednotlivá slova v souboru. Pravděpodobně mi uniká nějaké nutné escapování. Napadá někoho něco?

    Například:

    Pro soubor:
    a b
    c d e
    f g h
    dostávám:
    echo ${a[2]}
    "c
    BTW: Toto funguje jak chci:
    i=0
    while read line; do
      field[$i]="$line"
      i=`expr $i + 1`
    done < vstup.txt

    Odpovědi

    14.5.2007 12:11 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Načtení souboru do pole

    Zdravím, ten první příkaz je OK. Stačí předtím nastavit proměnnou IFS pouze na znak nového řádku (protože bash řeže řetězec na tokeny podle znaků v ní nalezených).

    Čili:

    IFS=$'\n';
    a=(`cat vstup.txt`);

    S pozdravem
    - Vojta

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    14.5.2007 12:27 pok | skóre: 11
    Rozbalit Rozbalit vše Re: Načtení souboru do pole
    Ha, díky!
    14.5.2007 18:16 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Načtení souboru do pole

    Ještě jsem si vzpomněl na něco.

    1. Pole má určitě omezenou velikost, takže na velký soubor to asi nebude fungovat (jako maximum bych viděl pár desítek řádků).
    2. Potom by to chtělo obnovit tu IFS na původní hodnotu (takže si na začátku její nastavení zapamatovat do jiné proměnné)

    - Vojta

    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    14.5.2007 12:11 maleprase | skóre: 28
    Rozbalit Rozbalit vše Re: Načtení souboru do pole
    a v cem ze teda nevyhovuje ten priklad na konci ktery funguje jak chces?
    14.5.2007 12:25 pok | skóre: 11
    Rozbalit Rozbalit vše Re: Načtení souboru do pole
    Nešlo mi ani tak o funkci jako spíš o to, proč to nejde tak jak jsem to zkoušel prvně.
    15.5.2007 11:18 mlz | skóre: 12 | blog: Obcas
    Rozbalit Rozbalit vše Re: Načtení souboru do pole
    Zdravím, přijde mi řešit to bashem jako plýtvání zdroji a prostředky a beru to tedy jako cvičení. Ale nevím, pro jaké účely, tak asi prudím zbytečně.

    Ale existuje sed, awk, perl .. a neřeknu Monty
    15.5.2007 13:04 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Načtení souboru do pole
    K tomuto komentáři se rád připojím. Pythonní
    a = file('vstup.txt').readlines()
    
    Je asi 30x rychlejší než ten příklad v bashi. Soubor s milionem řádků je načtený za 0.7 sekund, zatímco bash se s tím patle 22 sekund. A hlavně - na tak primitivní věc by se v pythonu nikdo neptal, zatímco v bashi je to věda.
    Je mi jasné, že autor dotazu ví co dělá, takže toto píšu spíš pro náhodného kolemjdoucího čtenáře.

    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.