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 13:22 | IT novinky

Samsung oznámil, že program Linux on DeX končí. Android 10 už nebude podporován. Linux on DeX umožňuje spouštět linuxový desktop a aplikace z vybraných telefonů od Samsungu připojených pomocí Samsung DeX.

Ladislav Hagara | Komentářů: 3
dnes 12:00 | Komunita

Ubuntu slaví 15 let od vydání první verze. Přesně před patnácti lety, 20. října 2004, byla vydána první verze 4.10 s kódovým názvem Warty Warthog.

Ladislav Hagara | Komentářů: 0
včera 20:20 | Pozvánky

Ve středu 23. října 2019 se od 16.00 koná akce na téma Oracle Labs - Live for the Code. Představí projekty Oracle Labs, na kterých se pracuje i v České republice: Oracle Labs Data Studio a GraalVM. Místo konání: budova Oracle v Praze–Jinonicích. Vstup po registraci zdarma. Občerstvení zajištěno.

Ladislav Dobiáš | Komentářů: 0
18.10. 09:44 | Upozornění

Byly zveřejněny videozáznamy přednášek z konference LinuxDays 2019, která proběhla 5. a 6. října v Praze. Odkazy na videa společně s prezentacemi naleznete v programu, případně můžete jít rovnou na stránku video. Záznamy pořizovalo Audiovizuální centrum SiliconHill.

Petr Krčmář | Komentářů: 18
17.10. 18:55 | Nová verze

Bylo vydáno OpenBSD 6.6. Opět bez oficiální písně. Z novinek lze zmínit například sysupgrade(8).

Ladislav Hagara | Komentářů: 5
17.10. 08:36 | Nová verze

Vyšla nová verze monitorovacího řešení Centreon 19.10.0. Novinek je spousta (realtime API, podpora JIRA, vylepšený systém notifikací...), ale těmi nejdůležitějšími je pro mnohé uživatele podpora nové verze rrdtool 1.7.x a php 7.2. Systém tak půjde bez problémů provozovat na jiných distribucích než CentOS 7. Kompletní přehled novinek v seznamu změn. Předpřipravená appliance i samotné části jsou k dispozici na oficiálních stránkách.

Max | Komentářů: 0
17.10. 01:00 | Komunita

Dnes vyjde Ubuntu 19.10 s kódovým názvem Eoan Ermine. Přehled novinek v poznámkách k vydání. Ubuntu 20.04 LTS bude Focal Fossa.

Ladislav Hagara | Komentářů: 14
16.10. 22:11 | Zajímavý projekt

Padesátiny Unixu lze oslavit také hrou The Unix Game aneb na unixové roury pomocí Scratche.

Ladislav Hagara | Komentářů: 2
16.10. 21:44 | Komunita

Vývojáři svobodného 3D softwaru Blender oznámili, že nejnovějším firemním sponzorem Blenderu je společnost Adidas. Jedná se o úroveň Corporate Silver, tj. 12 tisíc eur ročně.

Ladislav Hagara | Komentářů: 36
16.10. 18:22 | Komunita

V září proběhla každoroční konference Akademy komunity KDE. Nyní jsou záznamy přednášek dostupné online. Témata se dotýkají aplikací a knihoven KDE, jejich adaptaci pro různá speciální použití (vestavěná zařízení či rozšířená realita) i obecně vývoje a distribuce softwaru.

Fluttershy, yay! | Komentářů: 0
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (20%)
 (4%)
 (11%)
 (39%)
 (24%)
 (2%)
Celkem 433 hlasů
 Komentářů: 22, poslední 23.9. 08:36
Rozcestník

www.AutoDoc.Cz

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: 295×
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: 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.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: 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.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: 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.2018 07:08 Andrej | skóre: 47 | 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.