abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:33 | IT novinky

    Dnes ve 12:00 byla spuštěna první aukce domén .CZ. Zatím největší zájem je o dro.cz, kachnicka.cz, octavie.cz, uvycepu.cz a vnady.cz [𝕏].

    Ladislav Hagara | Komentářů: 1
    dnes 13:22 | Nová verze

    JackTrip byl vydán ve verzi 2.3.0. Jedná se o multiplatformní open source software umožňující hudebníkům z různých částí světa společné hraní. JackTrip lze instalovat také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | Pozvánky

    Patnáctý ročník ne-konference jOpenSpace se koná 4. – 6. října 2024 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytváří všichni účastníci, se skládá z desetiminutových

    … více »
    Zdenek H. | Komentářů: 0
    dnes 03:11 | Nová verze

    Program pro generování 3D lidských postav MakeHuman (Wikipedie, GitHub) byl vydán ve verzi 1.3.0. Hlavní novinkou je výběr tvaru těla (body shapes).

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

    Intel vydal 41 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20240514 mikrokódů pro své procesory řešící INTEL-SA-01051, INTEL-SA-01052 a INTEL-SA-01036.

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

    Společnost Raspberry Pi patřící nadaci Raspberry Pi chystá IPO a vstup na Londýnskou burzu.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | IT novinky

    Google na své vývojářské konferenci Google I/O 2024 představil řadu novinek. Keynote byl věnován umělé inteligenci (DeepMind, Gemini, Responsible AI).

    Ladislav Hagara | Komentářů: 2
    včera 12:33 | Bezpečnostní upozornění

    V Gitu bylo nalezeno 5 zranitelností. Opraveny jsou ve verzích 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 a 2.39.4. Útočník může připravit repozitář tak, že při jeho klonování (git clone) může dojít ke spuštění libovolného kódu.

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

    Virtualizační softwary VMware Workstation Pro a VMware Fusion Pro jsou nově pro osobní použití zdarma. Softwary VMware Workstation Player a VMware Fusion Player končí.

    Ladislav Hagara | Komentářů: 2
    včera 02:11 | Nová verze

    Linuxová distribuce Endless OS (Wikipedie) byla vydána ve verzi 6.0.0. Přehled novinek i s náhledy v příspěvku na blogu, poznámkách k vydání a také na YouTube.

    Ladislav Hagara | Komentářů: 2
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (74%)
     (5%)
     (10%)
     (10%)
    Celkem 291 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    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: 361×
    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

    Řešení 1× (xxl)
    13.3.2018 10:53 rastos | skóre: 62 | 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: 72 | 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.