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 18:11 | Zajímavý software

    Nazdar! je open source počítačová hra běžící také na Linuxu. Zdrojové kódy jsou k dispozici na GitHubu. Autorem je Michal Škoula.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Po více než třech letech od vydání verze 1.4.0 byla vydána nová verze 1.5.0 správce balíčků GNU Guix a na něm postavené stejnojmenné distribuci GNU Guix. S init systémem a správcem služeb GNU Shepherd. S experimentální podporou jádra GNU Hurd. Na vývoji se podílelo 744 vývojářů. Přibylo 12 525 nových balíčků. Jejich aktuální počet je 30 011. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 2
    včera 15:44 | Zajímavý software

    Na adrese gravit.huan.cz se objevila prezentace minimalistického redakčního systému GravIT. CMS je napsaný ve FastAPI a charakterizuje se především rychlým načítáním a jednoduchým ukládáním obsahu do textových souborů se syntaxí Markdown a YAML místo klasické databáze. GravIT cílí na uživatele, kteří preferují CMS s nízkými nároky, snadným verzováním (např. přes Git) a možností jednoduchého rozšiřování pomocí modulů. Redakční

    … více »
    2012 | Komentářů: 0
    včera 12:55 | Zajímavý software

    Tým Qwen (Alibaba Cloud) uvolnil jako open-source své modely Qwen3‑TTS pro převádění textu na řeč. Sada obsahuje modely VoiceDesign (tvorba hlasu dle popisu), CustomVoice (stylizace) a Base (klonování hlasu). Modely podporují syntézu deseti různých jazyků (čeština a slovenština chybí). Stránka projektu na GitHubu, natrénované modely jsou dostupné na Hugging Face. Distribuováno pod licencí Apache‑2.0.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 01:11 | Nová verze

    Svobodný citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 8. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.1. 16:55 | Nová verze

    Byla vydána verze 1.93.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
    22.1. 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 8
    22.1. 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 2
    22.1. 10:22 | Zajímavý software

    Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.

    Ladislav Hagara | Komentářů: 6
    22.1. 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (35%)
    Celkem 583 hlasů
     Komentářů: 17, poslední 22.1. 15:24
    Rozcestník

    Dotaz: Jak rozdělit řetězec před a za první tečkou v BASH

    13.3.2018 10:27 dnes
    Jak rozdělit řetězec před a za první tečkou v BASH
    Přečteno: 400×
    Dobrý den, netuším jak rozdělit v bash skriptu řetězec na dvě části, kdy před i za první tečkou může být libovolný počet znaků.
    část 1 === před první tečkou (mimo tečku)
    část 2 === za první tečkou   (mimo tečku)
    
    příklad
    VAR="214.je.cislo"     # část 1 = 214 , část 2 = je.cislo
    VAR="34.je.taky.cislo" # část 1 = 34  , část 2 = je.taky.cislo
    Poradíte mi někdo? Děkuji

    Řešení dotazu:


    Odpovědi

    13.3.2018 10:53 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Jak rozdělit řetězec před a za první tečkou v BASH
    $ VAR="214.je.cislo" 
    $ CAST1=`echo $VAR | cut -d . -f1`
    $ CAST2=`echo $VAR | cut -d . -f2-`
    $ echo $CAST1
    214
    $ echo $CAST2
    je.cislo
    
    Řešení 1× (Michal Kubeček)
    13.3.2018 13:32 MM
    Rozbalit Rozbalit vše Re: Jak rozdělit řetězec před a za první tečkou v BASH

    A nebo interně rychleji jen:

    >VAR="214.je.cislo"
    >echo ${VAR%%\.*}
    214
    >echo ${VAR#*\.}
    je.cislo
    13.3.2018 16:27 dnes
    Rozbalit Rozbalit vše Re: Jak rozdělit řetězec před a za první tečkou v BASH
    @MM díky a jde prosím tě testovat proměnnou na existenci tečky? Nemůžu to nikde najít.

    13.3.2018 16:58 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Jak rozdělit řetězec před a za první tečkou v BASH
    [[ $var == *.* ]]
    If you hold a Unix shell up to your ear, you can you hear the C.
    13.3.2018 20:06 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak rozdělit řetězec před a za první tečkou v BASH

    Tenhle trik se občas hodí i pro jiné účely, např. test, zda proměnná začíná nebo končí určitým vzorkem:

      if [ "${var#*.}" != "$var" ]; then ...
      if [ "${var%.*}" != "$var" ]; then ...
    

    Využívá se toho, že expanze s odříznutím začátku nebo konce zachová původní řetězec, pokud se nenajde žádný odpovídající začátek/konec.

    13.3.2018 17:00 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Jak rozdělit řetězec před a za první tečkou v BASH
    Tie backslashitka su tam zbytocne. Variable expansion ide podla shell-patterns nie podla regexpov.
    If you hold a Unix shell up to your ear, you can you hear the C.
    14.3.2018 07:08 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak rozdělit řetězec před a za první tečkou v BASH

    Protože (podle mě) nejlepší řešení se substitucemi už tu bylo zmíněné několikrát (#, %, ##, %% oddělí {nejkratší,nejdelší}' '{prefix,suffix}, (definovaný jako glob nebo extglob)), vybliju sem teď ještě jedno naschvál hnusné (leč ilustrativní a k dobrodružné četbě manuálové stránky vybízející) řešení:

    VAR='bla.ble.BLA.BLE'
    IFS=. read -a TOKENS <<<"$VAR"
    echo "${TOKENS[0]}"
    (IFS=.; echo "${TOKENS[*]:1}";)
    

    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.