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

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch OTA-1 Focal založené na Ubuntu 20.04 Focal Fossa.

    Ladislav Hagara | Komentářů: 0
    dnes 17:11 | IT novinky

    Společnost Red Hat slaví 30 let.

    Ladislav Hagara | Komentářů: 1
    dnes 15:22 | IT novinky

    Ve věku 91 let zemřel izraelský informatik Ja'akov Ziv, spolutvůrce bezztrátových kompresních algoritmů LZ77, LZ78 a LZW (Lempel–Ziv–Welch).

    Ladislav Hagara | Komentářů: 0
    dnes 11:00 | IT novinky

    Byla představena nová Arduino deska Arduino UNO R4 s 32bitovým MCU RA4M1 (Arm Cortex-M4). Desku lze zatím získat pouze v rámci early access programu.

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

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 6
    včera 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 29
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (11%)
    Celkem 339 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: (Jak zjistit) počet náhrad, které provedl sed

    11.6.2009 06:17 Robert Krátký | skóre: 94 | blog: Robertův bloček
    (Jak zjistit) počet náhrad, které provedl sed
    Přečteno: 220×
    Lze nějak zjistit (bez použití dalších nástrojů), kolikrát příkaz s (GNU sed) provedl nahrazení?

    Odpovědi

    11.6.2009 08:45 selfrule | skóre: 4
    Rozbalit Rozbalit vše Re: (Jak zjistit) počet náhrad, které provedl sed

    Můžeš prosímtě dotaz trochu upřesnit, příp. napsat konkrétní využití?

    11.6.2009 08:56 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: (Jak zjistit) počet náhrad, které provedl sed
    Potřebuji vědět, kolik substitucí provede libovolný příkaz typu
    sed 's/regexp/náhrada/g'
    Ta informace je pouze pro mě - nechci ji nijak využívat ve skriptu, pokud je to, na co se ptáš.
    11.6.2009 09:35 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: (Jak zjistit) počet náhrad, které provedl sed
    Podle mne zásadní věc je, jak tuto informaci sdělit? Jinak by to šlo co mne napadá akorát sedovskou aritmetikou jak je popsána třeba v info sed, tedy při každé úspěšné náhradě si někam odskočit a tam čarovat s čísly (přičíst jedna). Jako vzor by mohlo soužit "numbering non-blank lines". Následující příklad nahrazuje foo za baz a při každé náhradě na stderr vypíše kolikáté nahrazení to je.
    #!/bin/sed -nf
    
    s/foo/baz/g
    Tf
    
    x
    /^$/ s/^.*$/1/
    G
    h
    s/.*\n\(.*\)/\1/p
    x
    s/\n.*$//
    w/dev/stderr
    /^9*$/ s/^/0/
    s/.9*$/x&/
    h
    s/^.*x//
    y/0123456789/1234567890/
    x
    s/x.*$//
    G
    s/\n//
    h
    
    b
    
    :f
    p
    
    Asi by to šlo nějak poštelovat, aby to vypsalo třeba jen na konci a celkově odladit, ale nechce se mi s tím teď babrat, zas tak skriptovat v sedu neumím.
    11.6.2009 11:26 Robert Krátký | skóre: 94 | blog: Robertův bloček
    Rozbalit Rozbalit vše Re: (Jak zjistit) počet náhrad, které provedl sed
    Uff, složité :-( Ale dík za inspiraci.
    11.6.2009 12:23 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: (Jak zjistit) počet náhrad, které provedl sed
    Navíc to počítá jen řádky kde se něco nahrazovalo, ne konkrétní nahrazení při použití g (global), což nevím jestli jste potřeboval. Každopádně je to zajímavý problém :)
    11.6.2009 15:01 l4m4
    Rozbalit Rozbalit vše Re: (Jak zjistit) počet náhrad, které provedl sed
    Počítat nahrazení na řádku lze tak, že nahrazuješ bez /g a při úspěšném nahrazení to odskočíš zkusit znovu (a přitom případně provedeš nějakou jinou akci). Není to samozřejmě ekvivalent /g, protože to funguje pouze nemůže-li se již zpracovaný text znovu matchnout.

    Je to sice zajímavý problém, ale ne z těch, které by bylo praktické řešit v sedu...

    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.