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 23:55 | Zajímavý článek

Nakladatelství Raspberry Pi vydalo 244 stránkového průvodce pro úplné začátečníky s jednodeskovým počítačem Raspberry Pi The Official Raspberry Pi Beginner’s Guide (pdf). Programování ve visuálním programovacím jazyce Scratch je věnována nová příručka Code Club Book of Scratch Volume 1 (pdf). Vydáno bylo také třetí číslo časopisu věnovaného počítačovým hrám Wireframe (pdf).

Ladislav Hagara | Komentářů: 0
včera 23:44 | Nová verze

U příležitosti oslav jednoho roku prací na debianím balíčku, vyšlo GPXSee 7.0. Nová verze přináší zejména podporu vektorových map (Mapbox PBF) pomocí nově vzniklého Qt pluginu.

Martin Tůma | Komentářů: 0
7.12. 23:33 | Nová verze

UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch (seznam podporovaných zařízení), oznámila vydání nové verze Ubuntu Touch OTA-6. Zdůrazněna jsou například vylepšení webového prohlížeče Morph.

Ladislav Hagara | Komentářů: 0
7.12. 21:33 | Komunita

Richard Hughes na svém blogu informuje, že se společnost AMI (American Megatrends Incorporated), největší dodavatel firmwarů a BIOSů (AMIBIOS, Aptio, ...), zapojila do projektu LVFS (Linux Vendor Firmware Service). Seznam projektem podporovaných zařízení by se měl tedy časem rozšířit.

Ladislav Hagara | Komentářů: 0
7.12. 20:11 | Komunita

Nadace pro svobodný software (FSF) informuje, že seznam doporučených svobodných distribucí GNU/Linuxu byl rozšířen o distribuci Hyperbola GNU/Linux-libre. Hyperbola vychází z Arch Linuxu a na rozdíl od něj splňuje požadovaná kritéria.

Ladislav Hagara | Komentářů: 6
7.12. 19:55 | IT novinky

Společnost Valve oznámila, že počítačová hra Counter-Strike: Global Offensive (Steam) je nově free to play. Hra Company of Heroes 2 (Steam) je do pondělí 10. prosince zdarma.

Ladislav Hagara | Komentářů: 0
7.12. 00:11 | Nová verze

Byla vydána verze 7.3.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.3. Podrobný přehled novinek v seznamu změn.

Ladislav Hagara | Komentářů: 3
6.12. 23:55 | Nová verze

Byla vydána verze 1.31 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
6.12. 23:40 | Zajímavý článek

V roce 2015 Microsoft s Windows 10 představil i jeho nový prohlížeč Edge, který používal a používá nový engine EdgeHTML. Před pár dny se začaly objevovat zprávy o přechodu na Chromium engine. Nyní Microsoft vydal oficiální vyjádření, kde skutečně potvrdil přechod na Chromium projekt.

Max | Komentářů: 30
6.12. 23:22 | Nová verze

Po 5 měsících vývoje od vydání verze 0.15.0 byla vydána nová verze 0.16.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 95 vývojářů. Přibylo 985 nových balíčků. Jejich aktuální počet je 8 723 . Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 0
Chystáte se přejít na Wayland na „desktopu“?
 (25%)
 (4%)
 (12%)
 (34%)
 (25%)
Celkem 92 hlasů
 Komentářů: 13, poslední 7.12. 10:59
Rozcestník

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

13.3. 10:27 dnes
Jak rozdělit řetězec před a za první tečkou v BASH
Přečteno: 289×
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. 10:53 rastos | skóre: 61 | 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. 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. 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. 16:58 Semo | skóre: 44 | 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. 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. 17:00 Semo | skóre: 44 | 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. 07:08 Andrej | skóre: 45 | blog: Republic of Mordor | Zürich
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.