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 19:22 | Humor

    CreepyLink.com je nový zkracovač URL adres, 'díky kterému budou vaše odkazy vypadat tak podezřele, jak je to jen možné'. Například odkaz na abclinuxu.cz tento zkracovač převádí do podoby 'https://netflix.web-safe.link/logger_8oIlgs_free_money.php'. Dle prohlášení autora je CreepyLink alternativou ke zkracovači ShadyURL (repozitář na githubu), který dnes již bohužel není v provozu.

    NUKE GAZA! 🎆 | Komentářů: 2
    dnes 12:33 | IT novinky

    Na blogu Raspberry Pi byla představena rozšiřující deska Raspberry Pi AI HAT+ 2 s akcelerátorem Hailo-10 a 8 GB RAM. Na rozdíl od předchozí Raspberry Pi AI HAT+ podporuje generativní AI. Cena desky je 130 dolarů.

    Ladislav Hagara | Komentářů: 3
    dnes 12:11 | Komunita

    Wikipedie slaví 25. výročí svého založení. Vznikla 15. ledna 2001 jako doplňkový projekt k dnes již neexistující encyklopedii Nupedia. Doména wikipedia.org byla zaregistrována 12. ledna 2001. Zítra proběhne v Praze Večer svobodné kultury, který pořádá spolek Wikimedia ČR.

    Ladislav Hagara | Komentářů: 0
    dnes 04:44 | Nová verze

    Po více než dvou letech od vydání předchozí verze 2.12 byla vydána nová stabilní verze 2.14 systémového zavaděče GNU GRUB (GRand Unified Bootloader, Wikipedie). Přehled novinek v souboru NEWS a v aktualizované dokumentaci.

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

    Google Chrome 144 byl prohlášen za stabilní. Nejnovější stabilní verze 144.0.7559.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 4
    dnes 01:55 | Humor

    Microsoft zveřejnil zdrojový kód XAML Studia a uvolnil ho pod MIT licencí. XAML Studio je nástroj ze světa Windows, určený pro tvorbu uživatelského rozhraní aplikací pomocí XAML (Extensible Application Markup Language). Stalo se tak zhruba po osmi letech od prvního prohlášení Microsoftu, že se tento kód chystá zveřejnit.

    NUKE GAZA! 🎆 | Komentářů: 0
    dnes 01:44 | Zajímavý projekt

    TimeCapsule, 'časová kapsle', je jazykový model trénovaný výhradně na datech z určitých míst a časových období, aby se tak napodobila autentická slovní zásoba, způsob vyjadřování a názory dané doby. Na Hugging face jsou k dispozici modely natrénované na historických textech dostupných v oblasti Londýna mezi lety 1800 až 1875.

    NUKE GAZA! 🎆 | Komentářů: 6
    včera 17:55 | Nová verze

    Radicle byl vydán ve verzi 1.6.0 s kódovým jménem Amaryllis. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Upozornění

    Zemřel Scott Adams, tvůrce komiksových stripů Dilbert parodujících pracovní prostředí velké firmy.

    Ladislav Hagara | Komentářů: 4
    včera 13:00 | Nová verze

    Sdružení CZ.NIC vydalo novou verzi Knot Resolveru (6.1.0). Jedná se o první vydanou stabilní verzi 6, která je nyní oficiálně preferovanou a doporučovanou verzí, namísto předešlé verze 5. Více o Knot Resolveru 6 je možné se dočíst přímo v dokumentaci.

    VSladek | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (4%)
     (0%)
     (8%)
     (20%)
     (3%)
     (6%)
     (3%)
     (11%)
     (44%)
    Celkem 445 hlasů
     Komentářů: 12, poslední včera 21:12
    Rozcestník

    Dotaz: shell - oprava kódu

    22.10.2012 19:50 rBAR
    shell - oprava kódu
    Přečteno: 296×
    Zdravím, sažím se načíst jednotlivé řádky ze souboru do pole a následně je rozpůlit podle znaku IFS a uložit každou půlku do samostatné proměnné. Poradí někdo kde mám problém?
    IFS="+"
    
    PART=()
    i=0
    while read line
    do
      PART=("$line")
      PART_L_"$i"="${PART[0]}"
      PART_P_"$i"="${PART[1]}"
      (( i++ ))
    done</tmp/fce.txt
    
    v souboru instalace.txt je každý řádek v uvozovkách
    "funkce_jedna+FCE Jedna"
    "funkce_dve  +FCE Dvě  "
    "funkce_tri  +FCE Tři  "  
    Když vypíšu třeba $PART_L_3 tak se nic nevypíše.... Poraďte prosím. D.

    Odpovědi

    22.10.2012 20:16 l4m4
    Rozbalit Rozbalit vše Re: shell - oprava kódu
    Myslíš další problém kromě toho, že se snažíš zpracovávat komplexní data v shellu?

    Na první pohled je nesmysl toto:

    PART_L_"$i"=...

    Nejenže to neudělá, co čekáš, ale na tohle ti snad shell musí reagovat errorem, takže mě překvapuje, že si stěžuješ pouze na to, že je PART_L_3 prázdná (což tak jako tak být musí, když při číslování od nuly dostane poslední položka souboru číslo dva). Je-li nutné něco podobného dělat, musíš použít eval:

    eval PART_L_"$i"=...

    Ale možná by bylo lepší popsat, co má být celkový výsledek té operace, protože ji nejspíš lze provést bez bastlení v shellu.
    22.10.2012 20:56 camel1cz | skóre: 25
    Rozbalit Rozbalit vše Re: shell - oprava kódu
    To IFS ti ovlivní chování funkce read, ale té dáváš pouze jeden parametr a tak to shell nemá kam nacpat a celý rádek dá do proměnné line... řešení jsou 2:

    a) buď přidej fci read parametr -a (proměnnou line bude pak brát jako pole a nastaví ho podle IFS) a nebo

    b) dej fci read druhý parametr a pak ti rovnou dá vše před IFS do první proměnné a za IFS do druhé proměnné...

    Jinak ale souhlas s kolegou - zpracovávat taková data v shellu je řekněme nestandardní :-)

    22.10.2012 21:00 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: shell - oprava kódu
    awk
    22.10.2012 21:12 Kit
    Rozbalit Rozbalit vše Re: shell - oprava kódu
    To se všichni zbláznili, že chtějí v Bashi řešit práci s polem? Bash to umí, ale je to nepřehledné, líné a nepříliš bezpečné. Proč si na to nevezmeš jiný nástroj, který na takové záležitosti byl vytvořen, třeba AWK nebo Perl?
    23.10.2012 13:40 mike
    Rozbalit Rozbalit vše Re: shell - oprava kódu
    #!/bin/bash
    
    FNAME=tst_in
    OUT_FNAME_1=tst_out_1
    OUT_FNAME_2=tst_out_2
    
    OUT_FNAME=$OUT_FNAME_1
    for line in $(cat $FNAME)
    do
        if [ x$line = "x+" ]
        then
    	OUT_FNAME=$OUT_FNAME_2
        else
    	echo $line >> $OUT_FNAME
        fi
    done
    
    23.10.2012 14:24 mike
    Rozbalit Rozbalit vše Re: shell - oprava kódu
    nepochopeno zadani
    23.10.2012 13:56 Kit
    Rozbalit Rozbalit vše Re: shell - oprava kódu
    tr -d '"' <instalace.txt |
       while IFS="+" read a b; do
          echo "$a, $b"
       done
    
    23.10.2012 15:13 l4m4
    Rozbalit Rozbalit vše Re: shell - oprava kódu
    Akorát následující pořadavek bude, že potřebuje ty proměnné i po skončení roury...
    23.10.2012 15:20 Kit
    Rozbalit Rozbalit vše Re: shell - oprava kódu
    To je mi jasné, ale už se mi s takovou hloupostí nechtělo patlat. Chtěl jsem tím jen ukázat, že příkaz read může mít víc parametrů. Zadání je nesmyslné, tak proč to řešit do detailů?

    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.