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:22 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2023-12-05. Přehled novinek v příspěvku na blogu a poznámkách k vydání. Nově jej lze používat také s tmavým tématem.

    Ladislav Hagara | Komentářů: 0
    dnes 08:00 | Humor

    Dnes je to 10 let, co byla vytvořena decentralizovaná kryptoměna Dogecoin. Autoři Billy Markus a Jackson Palmer ji původně zamýšleli jako vtip. Znakem kryptoměny je pes Shiba-Inu známý z internetových memů.

    JZD | Komentářů: 7
    dnes 07:00 | Nová verze

    Google Chrome 120 byl prohlášen za stabilní. Nejnovější stabilní verze 120.0.6099.62 přináší řadu oprav a vylepšení (YouTube). Opraveno bylo 10 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Byla vydána nová verze 2023.4 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení. Vypíchnout lze podporu Cloud ARM64, Vagrant Hyper-V a Raspberry Pi 5.

    Ladislav Hagara | Komentářů: 0
    včera 17:00 | IT novinky

    Společnosti IBM, Meta a dalších vice než 50 zakládajících členů (bez Microsoftu a OpenAI) vytvořili mezinárodní alianci AI Alliance pro spolupráci na vývoji a rozvoji otevřené, bezpečné a odpovědné umělé inteligence.

    Ladislav Hagara | Komentářů: 16
    včera 14:44 | IT novinky

    Služba pro hlídání uniklých hesel Have I Been Pwned oslavila 10. výročí. Troy Hunt ji spustil 4. prosince 2013 (Twitter).

    Ladislav Hagara | Komentářů: 3
    včera 06:00 | Humor

    Programovací jazyk HTML.

    Ladislav Hagara | Komentářů: 5
    4.12. 23:00 | Upozornění

    Podpora TORu v Debianu 11 Bullseye a 10 Buster byla ukončena. Doporučuje se přechod na Debian 12 Bookworm.

    Ladislav Hagara | Komentářů: 0
    4.12. 22:33 | IT novinky

    Příkaz "opakuj donekonečna" je nově v rozporu s podmínkami používání ChatGPT. Příkaz vedl k prozrazení trénovacích dat [/.].

    Ladislav Hagara | Komentářů: 7
    4.12. 21:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 14.1. Podrobný přehled novinek v souboru NEWS. Vypíchnout lze podporu NO_COLOR a Debugger Adapter Protocol (DAP).

    Ladislav Hagara | Komentářů: 0
     (38%)
     (13%)
     (49%)
    Celkem 69 hlasů
     Komentářů: 1, poslední 4.12. 22:13
    Rozcestník

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

    14.3.2011 20:57 jaromir.kopravy
    když jsou čísla na obtíž
    Přečteno: 214×
    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.