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 14:44 | IT novinky

    Probíhá konference Microsoft Build 2026. Microsoft představuje své novinky: kvantový čip Majorana 2, Surface Laptop Ultra a Surface RTX Spark Dev Box s NVIDIA RTX Spark, Intelligent Terminal, Coreutils for Windows (fork Rust Coreutils), AI modely MAI, AI agenta Scout, platformu pro agent-first zařízení Project Solara, …

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

    Google Chrome 149 byl prohlášen za stabilní. Nejnovější stabilní verze 149.0.7827.53 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře.

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

    Pluto.jl, reaktivní notebook pro programovací jazyk Julia, dospěl do verze 1.0.

    Ladislav Hagara | Komentářů: 3
    včera 13:44 | Nová verze

    Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.

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

    Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.

    Ladislav Hagara | Komentářů: 0
    včera 11:00 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    1.6. 22:33 | Bezpečnostní upozornění

    npm balíčky @redhat-cloud-services byly kompromitovány.

    Ladislav Hagara | Komentářů: 5
    1.6. 22:22 | Bezpečnostní upozornění

    Byly publikovány informace o zranitelnosti CVE-2026-46243 pojmenované CIFSwitch v Linuxu od roku 2007. Běžný uživatel může získat práva roota (lokální eskalaci práv). V upstreamu je již opraveno.

    Ladislav Hagara | Komentářů: 0
    1.6. 19:22 | IT novinky

    Nvidia na své konferenci NVIDIA GTC Taipei 2026 představila řadu novinek. Společně s Microsoftem představili superčip NVIDIA RTX Spark (až 6 144 jader GPU, 20 jader CPU, 1 petaflop AI výkonu v FP4 a 128 GB jednotné paměti). První notebooky a stolní počítače s tímto čipem od Nvidie místo Intelu nebo AMD by se měly na trh dostat na podzim letošního roku.

    Ladislav Hagara | Komentářů: 10
    1.6. 13:22 | IT novinky

    Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (15%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1806 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: BASH - Odstranění znaků v řetězci

    7.3.2013 14:13 kluk
    BASH - Odstranění znaků v řetězci
    Přečteno: 1268×
    Ahoj, nejsem programátor ale nutně potřebuji opravit jeden script, poradí prosím někdo?

    Co potřebuji,
    1 pokud je v proměnné AAA první znak "S" tak ho potřebuji smazat a nastavit proměnnou S="true"
    2 pokud je v proměnné AAA poslední znak "E" tak ho potřebuji smazat  a nastavit proměnnou E="true"
    
    if [ "???" = "S" ]; then
     S="true";
     delete znak S;
    fi
    
    if [ "???" = "E" ]; then
     E="true"
     delete znak E;
    fi

    Řešení dotazu:


    Odpovědi

    7.3.2013 14:22 potato
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    ??? je "${proměnná:0:1}"

    delete znak je proměnná="${proměnná:1}"
    7.3.2013 14:25 kluk
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    Díky a ten poslední "E" ? pokud možno bez cyklu :( Děkuji
    7.3.2013 14:35 potato
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    proměnná=${proměnná:0:${#proměnná}-1}

    to odstraňování by možná bylo přehlednější pomocí expansních operátorů % a #, ale nezaškodí procvičit si občas klasickou práci s řetězci...
    7.3.2013 14:50 kluk
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    Díky moc, jak se dostanu k serveru tak to hned vyzkouším...
    7.3.2013 15:39 kluk
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    Tak vše funguje akorát nemám tu podmínku který zjistí existenci toho posledního znaku, můžu požádat ještě o ten zápis? Díky
    7.3.2013 15:51 potato
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    ${proměnná:${#proměnná}-1}
    7.3.2013 15:52 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    if [ "${AAA#${AAA%?}}" = "E" ]; then 
      E="true"; 
    fi
    
    Výše uvedené
    if [ "${AAA:0:${#AAA}-1}" = "E" ]; then 
      E="true"; 
    fi
    
    není vhodné, může-li být AAA prázdný řetězec tedy AAA=''
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    7.3.2013 20:57 potato
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    Pravdu díš, nechal jsem se unést...
    7.3.2013 16:11 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    #!/bin/bash
    
    #1st input argument
    AAA="$1"
    
    S='false'
    E='false'
    
    if [ "${AAA:0:1}" = "S" ]; then
      S="true";
      AAA="${AAA:1}"
    fi
    if [ "${AAA#${AAA%?}}" = "E" ]; then
      E="true";
      AAA="${AAA%?}"
    fi
    
    echo "E = '$E'"
    echo "S = '$S'"
    echo "AAA = '$AAA'"
    
    exit 0
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.3.2013 09:31 kei.101
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    
    S= E=
    
    TEST="${AAA#S}"
    [ "$TEST" = "$AAA" ] || S="true"
    AAA="$TEST"
    
    TEST="${AAA%E}"
    [ "$TEST" = "$AAA" ] || E="true"
    AAA="$TEST"
    
    8.3.2013 09:52 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH - Odstranění znaků v řetězci
    if [[ $AAA = S* ]]; then
      S=true
      AAA="${AAA#S}"
    fi
    
    if [[ $AAA = *E ]]; then
      E=true
      AAA="${AAA%E}"
    fi
    If you hold a Unix shell up to your ear, you can you hear the C.

    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.