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:33 | Komunita

Na Humble Bundle lze získat počítačovou hru Tacoma (YouTube, Wikipedie) běžící také v Linuxu zdarma. Speciální akce končí v neděli v 18:00.

Ladislav Hagara | Komentářů: 0
dnes 11:11 | Zajímavý projekt

Na Kickstarteru byla spuštěna kampaň na podporu zařízení NexDock 2. Jedná se o přenosnou dokovací stanici aneb notebook bez procesoru a paměti. Stačí připojit podporovaný telefon s Androidem nebo Raspberry Pi.

Ladislav Hagara | Komentářů: 0
dnes 09:55 | Zajímavý článek

Před týdnem byly vydány nové verze 4.2.11.1, 5.0.7.2, 5.1.6.2, 5.2.2.1 a 6.0.0.beta3 frameworku pro vývoj webových aplikací Ruby on Rails (Wikipedie). Opraveny byly 3 bezpečnostní chyby: CVE-2019-5418, CVE-2019-5419 a CVE-2019-5420. Analýza CVE-2019-5418 (zobrazit si lze libovolný soubor na serveru, například /etc/passwd) na blogu Chybeta.

Ladislav Hagara | Komentářů: 1
včera 23:33 | Zajímavý projekt

Na Humble Bundle byla spuštěna akce Humble Book Bundle: Web Programming by O'Reilly. Za 1 dolar a více lze koupit 5 elektronických knih, za 8 dolarů a více lze koupit 11 elektronických knih a za 15 dolarů a více lze koupit 17 elektronických knih věnovaných webovému programování od nakladatelství O'Reilly Media. Část ceny lze určit charitě.

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

Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 162. brněnský sraz, který proběhne v pátek 22. března od 18:00 v restauraci Slatinský šenk na adrese Zlínská 12.

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

Jonathan Thomas oznámil vydání nové verze 2.4.4 video editoru OpenShot (Wikipedie). Přehled novinek na YouTube. Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.

Ladislav Hagara | Komentářů: 0
včera 15:22 | Zajímavý článek

Mozilla.cz informuje, že Firefox bude mít nového správce hesel Lockbox. Lockbox bude integrován s Firefox Monitorem – službou pro varování při únicích dat.

Ladislav Hagara | Komentářů: 0
včera 11:33 | Nová verze

Webový prohlížeč Falkon založený na QtWebEngine (Blink) byl vydán ve verzi 3.1. Podle seznamu změn zlepšuje integraci v rámci KDE, opravuje několik chyb a stabilizuje podporu rozšíření v Python a přidává podporu QML.

Fluttershy, yay! | Komentářů: 2
včera 11:22 | Komunita

Česká Wikipedie je dnes vypnuta. Na protest proti evropské reformě autorského práva.

Ladislav Hagara | Komentářů: 14
20.3. 18:11 | Nová verze

Po půl roce vývoje od vydání verze 7.0.0 byla vydána verze 8.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, clang-tools-extra, LLD a Libc++.

Ladislav Hagara | Komentářů: 0
Kolik balíčků (v tisících) máte nainstalovaných na svém systému?
 (4%)
 (13%)
 (33%)
 (30%)
 (19%)
 (3%)
 (2%)
 (1%)
 (3%)
Celkem 227 hlasů
 Komentářů: 22, poslední dnes 12:39
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: 294×
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: 46 | 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.