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í
×
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

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

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

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

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

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

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 34
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 16
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 10
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (15%)
     (17%)
     (22%)
     (15%)
     (18%)
     (16%)
     (15%)
    Celkem 181 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: Objasnění scriptu v prikazove radce

    9.2.2016 17:31 zacatecnik
    Objasnění scriptu v prikazove radce
    Přečteno: 468×
    Dobry den, snazim se vytvorit seznam kde by mel kazdy uzivatel vlastni index 0, 1, 2, 3, 4 atd.. a po zadaní toho indexu a nazvu polozky by se vypsalo vse potrebne, ale porad mi to nejak nejde a tak chci pozadat zde zkusenych programatoru o pomoc. Zkousel jsem to takto, hledal jsem na netu ale konkretni reseni jsem nenasel. Dekuji predem za pomoc.
    declare -A mylist
    
    mylist=("jmeno" "prijmeni" "adresa")
    
    mylist[0]['jmeno']="petr"
    mylist[0]['prijmeni']="sulc"
    mylist[0]['adresa']="ostrava 33"
    
    echo ${mylist[0]['jmeno']} # petr
    echo ${mylist[0]['prijmeni']} # sulc
    echo ${mylist[0]['adresa']} # ostrava 33

    Odpovědi

    9.2.2016 17:42 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Objasnění scriptu v prikazove radce
    Bash není stavěný na práci s polem - je to jen taková nouzovka. Zato umí velice dobře pracovat se soubory, což s sebou přináší výhody perzistence výsledků.

    Určitě existuje elegantní řešení tvého problému, ale pole bych do toho netahal.

    O co se vlastně snažíš?
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.2.2016 17:51 zacatecnik
    Rozbalit Rozbalit vše Re: Objasnění scriptu v prikazove radce
    Dobry den, děkuji za odpoved. Snazim se vytvorit seznam uzivatelu bez nejake databaze, ktere bych mohl jednoduse vypsat prave dle toho jejich indexu (id). Chtel bych to pomoci toho pole, jelikoz bych to potreboval ruzne dle potreby seradit, treba podle nejakeho datumu, id, atd. Kdybych mel dejme tomu 10 atributu, jmeno, prijmeni, adresa, datum atd.. musel bych asi vytvorit 10 souboru a co raek to jeden uzivatel, ale to si nedokazu predstavit, jak bych to pak mohl setridit.
    9.2.2016 18:11 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Objasnění scriptu v prikazove radce
    Tohle se dá řešit například formátem CSV - tedy jeden záznam, jeden řádek. Jeden řádek, 10 sloupců oddělených třeba středníkem. Vyhledávání příkazem grep, řazení příkazem sort, vyřezávání a spojování potřebných sloupců příkazy cut a paste, spojování dvou souborů podle klíčů zase join. Skoro jako práce s databází. Na speciality ještě awk a Perl, se kterými se dá už vyvádět cokoli.

    Ještě je jeden zajímavý nástroj: sqlite3, který umí vše, co je uvedeno výše, data má v jednom souboru, je rychlý a dá se s ním pohodlně pracovat z příkazové řádky (volat ze skriptu). Není kvalifikován jako databáze, protože neumí pracovat na síti, ale na takové lokální skripty se hodí jako skvělé a robustní řešení. Kromě toho s tím souborem umí pracovat většina skriptovacích jazyků, Python a Perl nevyjímaje.

    A pak tu máme ještě jednu samostatnou, ale velmi zajímavou kapitolu: XML. Umí vše, co požaduješ. Opět je pro takovou práci dostatek nástrojů.

    Jak vidíš, vše zmíněné je lepší než Bash. Vše uvedené nabízí nějakou formu trvanlivého uchování dat. Máš na výběr.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.2.2016 22:25 zacatecnik
    Rozbalit Rozbalit vše Re: Objasnění scriptu v prikazove radce
    Moc dekuji za napovedu. Tak jsem hledal nejaké info ohledne toho CSV ale jak seradit cely soubor podle nejakeho sloupce jsem fakt nenasel. Taky jsem nikde nenasel jak nacist jen urcity pocet radku. Nemáte prosím nějaký odkaz jak na to ? Moc dekuji
    9.2.2016 22:41 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Objasnění scriptu v prikazove radce
    To se dělá tak, že se nejprve příkazem cut přeskládají sloupečky podle priority řazení, pak se zavolá sort a nakonec se to opět přeskládá příkazem cut podle potřeby výstupu.

    Je to velmi rychlé a zpravidla se to dá napsat i na jeden řádek. Žádné mezivýsledky není třeba ukládat, jde to přímo z jednoho filtru do druhého.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.2.2016 23:50 zacatecnik
    Rozbalit Rozbalit vše Re: Objasnění scriptu v prikazove radce
    Hned jdu o tom něco pohledat, díky

    a můžu omezit ten read na "od" "od" ?
    while IFS=';' read -r c1 c2 c3e
    do
    ...      
    done < /test.csv
    10.2.2016 00:47 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Objasnění scriptu v prikazove radce
    Tohle jsi vyhrabal kde? Je lepší na takové cykly zapomenout, protože jsou děsně pomalé.

    S tímhle si dobře poradí awk.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    kozzi avatar 9.2.2016 17:53 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Objasnění scriptu v prikazove radce

    To v bashi nejspis neni uplne mozne: http://stackoverflow.com/questions/6149679/bash-need-some-help-with-multidimensional-associative-arrays

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"

    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.