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 17:11 | IT novinky

    Společnost Jolla spustila kampaň na podporu svého nového telefonu Jolla Phone se Sailfish OS. Dodání je plánováno na první polovinu příštího roku. Pokud bude alespoň 2 000 zájemců. Záloha na telefon je 99 €. Cena telefonu v rámci kampaně je 499 €.

    Ladislav Hagara | Komentářů: 0
    dnes 15:11 | IT novinky

    Netflix kupuje Warner Bros. včetně jejích filmových a televizních studií HBO Max a HBO. Za 72 miliard dolarů (asi 1,5 bilionu korun).

    Ladislav Hagara | Komentářů: 1
    dnes 14:11 | IT novinky

    V Las Vegas dnes končí pětidenní konference AWS re:Invent 2025. Společnost Amazon Web Services (AWS) na ní představila celou řadu novinek. Vypíchnout lze 192jádrový CPU Graviton5 nebo AI chip Trainium3.

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

    Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.

    |🇵🇸 | Komentářů: 5
    včera 23:44 | Nová verze

    Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | IT novinky

    Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.

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

    Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.

    Ladislav Hagara | Komentářů: 3
    včera 02:44 | Komunita

    Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.

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

    Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    3.12. 18:11 | Nová verze

    Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 430 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    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: 1254×
    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.