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

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila (𝕏) open-source robota Microduck. Předobjednat jej lze za 340 eur.

    Ladislav Hagara | Komentářů: 0
    dnes 10:55 | Nová verze

    Open-source autonomní AI agent OpenClaw (Wikipedie) byl vydán ve verzi 2026.8.1 aneb 2.0. Přehled novinek v poznámkách k vydání.

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

    Byla vydána první veřejná preview verze PrusaSliceru 3.0. Přesně 15 let po zveřejnění první verze Slic3ru, které připadlo na 1. září 2011. Jedná se o dosud největší upgrade PrusaSliceru: "Řídili jsme se tím, co skutečně potřebujete, a tak jsme například zcela zahodili stávající uživatelské rozhraní a vytvořili ho znovu od nuly. Přinášíme také nový systém projektů, kompletně přepracované profily navržené pro moderní tiskárny s větším

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 15:55 | Nová verze

    Byl vydán Mozilla Firefox 155.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze Smart Window, zatím ale dostupné pouze pro uživatele v USA, Kanadě a Francii. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 155 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | IT novinky

    Tima Cooka na pozici generálního ředitele společnosti Apple dnešním dnem nahradil John Ternus, který byl dosud odpovědný za hardware. Tim Cook vedl Apple od roku 2011, kdy funkci převzal od později zesnulého spoluzakladatele společnosti Stevea Jobse. Za 15 let v čele Applu více než zdvojnásobil tržní hodnotu firmy.

    Ladislav Hagara | Komentářů: 4
    včera 11:00 | Pozvánky

    Organizátoři konference LinuxDays ukončil veřejné přihlašování přednášek. Teď je na vás, abyste vybrali nejlepší témata pro letošní ročník. Hlasovat můžete do pondělí 7. září, poté bude podle výsledků hlasování sestaven program pro letošní ročník.

    Petr Krčmář | Komentářů: 5
    včera 10:55 | Nová verze

    Servo, engine webového prohlížeče napsaný v Rustu, byl vydán ve verzi 0.5.0. Novinky shrnuje přehled projektu za červenec. Došlo k dalšímu pokroku ve vykreslování webových stránek. Současným cílem projektu je vytvořit komponentu webového prohlížeče jako WebView pro použití v jiných aplikacích.

    |🇵🇸 | Komentářů: 2
    včera 10:44 | IT novinky

    IKEA a XBOX představují kolekci YXSTABY (pdf). Ta přináší designová a praktická řešení, díky nimž se prostor pro hraní během sekundy promění v útulný a harmonický domov.

    Ladislav Hagara | Komentářů: 2
    včera 02:00 | Nová verze

    Jonathan Thomas oznámil vydání verze 4.0 nelineární střižny OpenShot. Nově podporuje nahrávání obrazu a zvuku, vylepšuje uživatelské rozhraní, mj. color grading, přidává další efekty a mnoho dalšího (seznam změn).

    |🇵🇸 | Komentářů: 0
    31.8. 17:22 | Komunita

    Proběhlo hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu si odhlasovali zodpovědné využívání generativní umělé inteligence.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2534 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: nahrazeni prvnich x vyrazu jinym vyrazem

    27.5.2005 15:15 Tomas Hrobarik | skóre: 4
    nahrazeni prvnich x vyrazu jinym vyrazem
    Přečteno: 314×
    Zdravim vsechny, potreboval bych nahradit v jednom soubore prvnich x vyrazu jinym vyrazem. zkousel jsem
    sed 's/vyraz1\{x\}/vyraz2/g'
    ale to nefunguje. Nevite mi nekdo prosim poradit. diky

    Odpovědi

    27.5.2005 15:27 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    \{x\} má vyšší prioritu než konkatenace, viz info sed, man grep atd.
    sed 's/\(vyraz1\)\{x\}/vyraz2/g'
    
    27.5.2005 15:35 Tomas Hrobarik | skóre: 4
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    sed 's/\(vyraz1\)\{x\}/vyraz2/g' nepomohlo, resp. nic nezamenilo. V cem je problem?
    27.5.2005 15:47 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Zkus napsat, co opravdu nahrazuješ, ne vyraz1 a x, protože bota bude někde jinde; co napsal twofish, to funguje.
    27.5.2005 15:55 Tomas Hrobarik | skóre: 4
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    napsal jsem sed 's/\(Na\)\{45\}/ K/g' ala10_nacl.pdb > pokus
    27.5.2005 16:07 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Hm, možná jsem teprve pochopil, co chceš. Sed umí opak, tj. nahradit výskyty až od nějakého, a nahradit konkrétní výskyt, ale nahradit prvních n AFAIK snadno nejde. Lze to udělat např.

    sed '-e s/výraz/náhrada/'{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}

    kde těch čárek je n-1. Ovšem pouze v případě, kdy náhrady nemohou vytvořit nová místa, kde se výraz matchne.
    27.5.2005 16:25 Tomas Hrobarik | skóre: 4
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Ja netvrdim aby to byl striktne sed. Ale verim, ze existuje nejaky programek, ktery dokaze to co prave potrebuji a to je nahradit v souboru prvnich 45 vyrazu Na za vyraz K. btw.
    sed '-e s/výraz/náhrada/'{,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}
    mi taky nepomohlo bez ohlkadu na pocet carek
    27.5.2005 16:45 Tomas Hrobarik | skóre: 4
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    pro lepsi nazornost prikladam ukazku souboru ktery chci zmenit
    ATOM  15040  Na   Na  5012      36.160  49.470  53.120  1.00  0.00
    ATOM  15041  Na   Na  5013      24.520  52.110  42.150  1.00  0.00
    ATOM  15042  Na   Na  5014      51.240   1.070  22.880  1.00  0.00
    ATOM  15043  Na   Na  5015      51.240   1.070  41.500  1.00  0.00
    ATOM  15044  Na   Na  5016       0.710  52.110  11.040  1.00  0.00
    ATOM  15045  Na   Na  5017      37.510  53.200  19.790  1.00  0.00
    ATOM  15046  Na   Na  5018       1.610  47.900  27.350  1.00  0.00
    ATOM  15047  Na   Na  5019      43.140  52.110  23.530  1.00  0.00
    ATOM  15048  Na   Na  5020      37.510  53.200  38.410  1.00  0.00
    ATOM  15049  Na   Na  5021       1.610  47.900  45.970  1.00  0.00
    ATOM  15050  Na   Na  5022      43.140  52.110  42.150  1.00  0.00
    ATOM  15051  Cl   Cl  5023      10.130   1.050  17.700  1.00  0.00
    ATOM  15052  Cl   Cl  5024       9.030   0.860   1.330  1.00  0.00
    ATOM  15053  Cl   Cl  5025       3.900  17.410  15.600  1.00  0.00
    ATOM  15054  Cl   Cl  5026       8.590  13.740   0.160  1.00  0.00
    ATOM  15055  Cl   Cl  5027      10.010  53.925  11.540  1.00  0.00
    ATOM  15056  Cl   Cl  5028      10.130   1.050  36.320  1.00  0.00
    
    
    27.5.2005 16:59 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Od oka by na tohle asi bylo jednodušší použít awk
    27.5.2005 17:29 Tomas Hrobarik | skóre: 4
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    a mohl bys mi poradit nejaky skript. Ja to zas az tak neovladam.
    27.5.2005 18:55 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    {
      if (n < 45)
        n += gsub(/a/, "ble")
      print
    }
    
    Teda nic moc, protože se na řádku, kde to překročí 45 výskytů, nahradí všechny. Lze se tomu vyhnout, ale sehlaly mi už tři teorie, co vlastně chceš, takže se nebudu pouštět do větších akcí...
    27.5.2005 19:02 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Něco na způsob
    awk '{while (i < 45 && sub("Na", " K")) i++; print; }'
    
    sub() vrací 1 pokud se provedla substituce. Má to zase ten problém, že náhrada nesmí jít nahradit podruhé.
    27.5.2005 19:05 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Pakliže víš, co chce, já vím, jak to řešit správně ;-)
    27.5.2005 19:10 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    _Algoritmus_, jak to řešit správně, vím, nevím jak to _úsporně_ zapsat v awku... :-|
    27.5.2005 19:32 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Hm, OK, nejlepší, na co jsem přišel, používalo gsub() + půlení intervalu na substituci posledních výskytů, aby jich bylo správně 45.

    No, než to Pichi napíše v dc, tak Python:
    #/usr/bin/python
    import re, sys
    
    r = re.compile(r'vyraz')
    repl = 'replacement'
    m = 13
    
    n = 0
    for line in sys.stdin:
        if n < m:
            i = len(r.findall(line))
            line = r.sub(repl, line, max(i + n - m, 0))
            n += i
        sys.stdout.write(line)
    
    27.5.2005 19:49 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    s/13/45/
    30.5.2005 11:51 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    dc na řetězce není nic moc. Uvažoval bych o perlu :-)
    perl -pe 'next if $a>45; while ($a++ <45 and s/vyraz/replacement/){};'
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    30.5.2005 11:55 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Nebo prakticky totéž
    perl -pe 'next if $a>=45; while ($a++ <45 and s/vyraz/replacement/){};
    a nebo
    perl -pe 'next unless $a<45; while ($a++ <45 and s/vyraz/replacement/){};
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    30.5.2005 12:16 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    To by tady fungovalo. Ale když jsem chtěl, aby se to chovalo korektně, i když replacement může vytvořit nová místa, kde matchne vyraz, skončil jsem u Pythonu.
    30.5.2005 12:45 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Jojo. Máš pravdu. Tohle se v perlu moc elegantně nedělá. Nicméně v zadání takový požadavek není. Krom toho jsem si to přes oběd nechal trohu projít lavou a mám tam dost blbou chybu a asi už trpím stařeckou demencí (ve 30) a nejsem schopen opustit myšlenku - next. Takže snad na čtvrtý pokus
    perl -pe '$a++ while $a<45 and s/vyraz/replace/'
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    30.5.2005 13:30 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Elegance se poněkud vytrácí, ale jde to.
    perl -pe '$l=0; while($a<45 and substr($_,$l) =~ s/vyraz/replace/){$a++; $l=length($_)-length($'\'')}'
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    27.5.2005 19:47 Tomas Hrobarik | skóre: 4
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem
    Diky. Moc jste mi pomohli. Btw. nevite o nejaky dobry strance na webu s tutorialama jak psat skripty?
    31.5.2005 13:44 tomas
    Rozbalit Rozbalit vše Re: nahrazeni prvnich x vyrazu jinym vyrazem

    Hodně skriptů pro práci s PDB soubory je napsáno v Perlu. I původní PDB databáze z BNL byla napsána z 90% v Perlu. Při zpracování PDB souborů se lítají regulárními výrazy jen za druhým a Perl je v tomto prvotřídní.

    Co se týče otázky tutoriálu Perlu bych zkusil třeba tady:

    http://docs.linux.cz/programming/interpreted/perl/

    nebo si vyberte ve studnici vědění

    google: perl tutorial site:cz
    google: perl pdb basic
    http://www.perlmol.org/ ...

    tj

    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.