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 17:25 | IT novinky

Do prodeje (Farnell) se dostal jednodeskový počítač Tinker Board (unboxing). Jedná se o konkurenci Raspberry Pi 3 od společnosti Asus. Porovnání (jpg) těchto počítačů například na CNXSoft. Cena Tinker Boardu je 55 £.

Ladislav Hagara | Komentářů: 6
včera 14:44 | Zajímavý projekt

Byla zveřejněna pravidla hackerské soutěže Pwn2Own 2017, jež proběhne od 15. do 17. března v rámci bezpečnostní konference CanSecWes ve Vancouveru. Soutěžit se bude o více než milion dolarů v pěti kategoriích. Letos se bude útočit i na Ubuntu. Jedná se již o 10. ročník této soutěže.

Ladislav Hagara | Komentářů: 1
včera 13:33 | Nová verze

Po sedmi měsících vývoje od vydání verze 5.7 byla vydána verze 5.8 (YouTube) toolkitu Qt. Z novinek lze zmínit například Qt Lite pro vestavěná zařízení. Nově jsou plně podporovány moduly Qt Wayland Compositor (YouTube) a Qt SCXML (YouTube). Současně byla vydána verze 4.2.1 integrovaného vývojového prostředí (IDE) Qt Creator.

Ladislav Hagara | Komentářů: 1
včera 11:52 | Pozvánky

Lednový Prague Containers Meetup se koná ve čtvrtek 26. ledna 2017 od 18:00 v Apiary, Pernerova 49, Praha 8. Přijďte se podívat na přednášky o Enterprise Kubernetes a Jenkins as a code.

little-drunk-jesus | Komentářů: 0
včera 11:40 | Pozvánky

Program letošního ročníku konference Prague PostgreSQL Developer Days, která se koná již 15. a 16. února 2017 na ČVUT FIT, Thákurova 9, Praha 6, byl dnes zveřejněn. Najdete ho na stránkách konference včetně anotací přednášek a školení. Registrace na konferenci bude otevřena zítra (24. ledna) v brzkých odpoledních hodinách.

TomasVondra | Komentářů: 0
22.1. 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
22.1. 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 12
21.1. 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
21.1. 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 7
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (11%)
 (2%)
 (73%)
 (3%)
 (10%)
Celkem 387 hlasů
 Komentářů: 31, poslední včera 19:19
Rozcestník
Reklama

Dotaz: když jsou čísla na obtíž

14.3.2011 20:57 jaromir.kopravy
když jsou čísla na obtíž
Přečteno: 181×
Dobrý den, potřebuji zpracovat rozsáhlou databázi číselných hodnot a textových řetězců. Proto bych to nějak rád zautomatizoval, například sedem.

Jak mohu nahradit všechna racionální čísla (desetinná část je za tečkou) v databázi (resp. textovém souboru) za, například, znak "x")?

vstup: 555.32 nejaky text 2616486 nejaky text -868451 nejaky text

vystup: x nejaky text x nejaky text x nejaky text

A ještě jeden dotaz, v databázi jsou souřadnice bodů (bohužel ne vždy jako číslice, ale jako libolná změť čehokoliv), jako příklad A[0,1] B[3,x] C[nezname_souradnice]. Šlo by nějakou posloupností klasických bash nástrojů dojít k tomuto (oznaceni zacatku a konce napriklad retezci "souradnice" a "konec")?

vystup: A[0,1] nejaky text B[3,x] nejaky text C[nezname_souradnice]

vstup: souradnice[0,1]konec nejaky text souradnice[3,x]konec nejaky text souradnice[nezname_souradnice]konec

Děkuji za všechny nápady a návrhy, jak dojít ke kýženému výsledku.

Odpovědi

14.3.2011 22:07 ____ | skóre: 15 | blog: _
Rozbalit Rozbalit vše Re: když jsou čísla na obtíž

Jen přispěju nějakými těmi regexy pro sed.

  1. sed s/-\{,1\}[0-9]\{1,\}\.\{,1\}[0-9]*/x/g
  2. sed s/[A-Z]\(\[[^\]]\]\)/souradnice\1konec/g

Neověřoval jsem správnost. Raději bych to vůbec ještě přepsal v AWK nebo Perl, protože je ještě nutné něco doplnit, aby se nanahrazovala čísla obsažená v textové části, pokud tam vůbec nějaká jsou, ale nechce se mi brouzdat po dokumentaci.

14.3.2011 22:26 NN
Rozbalit Rozbalit vše Re: když jsou čísla na obtíž
Ten prvni:
sed 's/[+-]\?[0-9]\{1,7\}[.]\?[0-9]\{1,3\}\?/x/g'
Vsechny vyskyty retezcu /g ktere muzou zacinat + nebo - nasleduje 1 az 7 cifer dale muze byt tecka a muze nasledovat dalsich 1 az 3 cifer.

Ten druhy:
sed 's/[A-Z]\[/souradnice\[/g'
sed 's/\]/\]konec/g'
Vsechny vyskyty retezcu, ktere zacinaji velkym pismenem a otevyraci hranatou zavorkou nahrad retezcem souradnice a otevyraci zavorkou.

Vsechny vyskyty retezce, ktery obsahuje hranatou uzavyraci zavorkou nahrad uzavyraci hranatou zavorkou a retezcem lkonce.

Asi by se oboji dalo vylepsit, ale oboji funguje.. NN

14.3.2011 23:08 jaromir.kopravy
Rozbalit Rozbalit vše Re: když jsou čísla na obtíž
Děkuji za odpovědi, regulární výrazy řeší můj problém, až na jednu věc --- velká a malá písmena (akceptuje i ta malá při [A-Z]):

----------------------------------------------------------------------------------------

test: echo "A[1,2] B[3,x] C[souradnice]" | sed 's/[A-Z]\[/souradnice\[/g';

výstup: souradnice[1,2] souradnice[3,x] souradnice[souradnice]

----------------------------------------------------------------------------------------

test: echo "A[1,2] b[3,x] C[souradnice]" | sed 's/[A-Z]\[/souradnice\[/g';

výstup: souradnice[1,2] souradnice[3,x] souradnice[souradnice]

----------------------------------------------------------------------------------------

Zkoušel jsem vícero způsobů kombinace malých a velkých písmen a bash mi nedokáže rozeznat malá a velká písmena. Můžete mi, prosím, poradit, kde je problém???
14.3.2011 23:36 Ash | skóre: 53
Rozbalit Rozbalit vše Re: když jsou čísla na obtíž
Problém může vzniknout pokud vaše locales (příkaz locale) mají LC_COLLATE takové, že řazení velkých/malých písmen je (nepříklad) aAbBcC, potom A-Z zahrnuje velká i malá písmena (krom malého a).

Demo:

bash$ locale | grep LC_COLLATE
LC_COLLATE="cs_CZ.UTF-8"

bash$ echo "a[1,2] b[3,x] C[souradnice]" | sed 's/[A-Z]\[/souradnice\[/g';
a[1,2] souradnice[3,x] souradnice[souradnice]

bash$ echo "A[1,2] Z[3,x] C[souradnice]" | sed 's/[A-z]\[/souradnice\[/g';
souradnice[1,2] Z[3,x] souradnice[souradnice]
Řešení odolné proti různým řazením:
echo "A[1,2] b[3,x] C[souradnice]" | sed 's/[[:upper:]]\[/souradnice\[/g';

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.