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

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    🇨🇽 | Komentářů: 0
    včera 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    🇨🇽 | Komentářů: 5
    včera 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    🇨🇽 | Komentářů: 0
    včera 15:33 | Zajímavý software

    Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    26.12. 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    26.12. 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    26.12. 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

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

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 30
    Kdo vám letos nadělí dárek?
     (33%)
     (1%)
     (23%)
     (1%)
     (1%)
     (1%)
     (12%)
     (12%)
     (16%)
    Celkem 173 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Dotaz: nahrada za prazdneho radku za cislo

    31.3.2005 22:21 koudelka | skóre: 2
    nahrada za prazdneho radku za cislo
    Přečteno: 127×
    Ahoj vsichni.

    Potreboval bych pomoci s nasledujicim problemem (PROSIM).

    mam textovy soubor, ktery se sklada z nasledujicich radku:

    pradny radek

    text

    text

    ..

    text

    prazdny radek

    text

    prazdny radek

    text

    text

    atd.

    Popis: v souboru je prazdny radeya pak nasleduje jeden nebo vice radku textu a stale se to opakuje. A ja potrebuji na zacatek kazdeho textu (do toho pradneho radku) napsat cislo kolik nasleduje radku textu(az po dalsi mezeru).

    Asi by se to melo resit pres cyklus until nebo while (na konec souboru) a nasledne hledat pradne radky od zacatku textoveho souboru, kdyz ten prazdny radek naleznu, tak se aktivuje dalsi cyklus, kde se znovu testuje pritomnost prazdneho radku a ukladam do promenne, kolikrat jsem musel tento cyklus provest, nez jsem narazil na dalsi prazdny radek, kdyz se tak stane, tak cyklus skonci a ja provedu nahrazeni pouze toho jednoho pradneho radku ulozenou promennou (kolikrat jsem musel opakovat vnoreny cyklus), pro ktery se toto vztahuje a pokracuji dale v prohledavani souboruaz na konec.

    Vysledek:

    V souboru bude text a vsechny pradne radky budou nahrazeny cislem, ktere budou odpovidat poctu radku textu(ktere nasleduji za cislem) .

    priklad:

    2

    text

    text

    3

    text

    text

    text

    1

    text

    1

    text

    Toto reseni se mi zda velice tezkopadne, tak se ptam, existuje nejake elegantneji reseni a pokud ANO, tak jake.

    Diky za pomoc

    Odpovědi

    31.3.2005 22:50 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    tac soubor | sed '1{x;s/^/0/;x;};/^$/{g;p;s/.*/0/;h;d};x;s/$/+/;:1;t2;:2;s/^+0/01/;s/0+/1/;s/1+/+0/;t1;x' | tac
    Vypisuje to ty počty řádků binárně, protože se mi nechtělo psát inkrementování pro každou desítkovou číslici. Ale to si snadno doplníš ;-)
    31.3.2005 22:51 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    Zapomněl jsem dodat: Zdravím Pichiho -- víš, že existuje implementace dc v sedu?
    31.3.2005 23:02 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    OK, tady je to v desítkové soustavě:
    tac soubor | sed '1{x;s/^/0/;x;};/^$/{g;p;s/.*/0/;h;d};x;s/$/+/;:1;t2;:2;s/^+0/10/;s/0+/1/;s/1+/2/;s/2+/3/;s/3+/4/;s/4+/5/;s/5+/6/;s/6+/7/;s/7+/8/;s/8+/9/;s/9+/+0/;t1;x' | tac
    
    31.3.2005 23:06 © | skóre: 37 | blog: escaped
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    Chceš nás vyděsit? Skoro se Ti to povedlo. :-D
    2.4.2005 02:11 koudelka | skóre: 2
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    diky

    po dlouhe dobe jsem to pochopil. jak na to, tak uvidim,
    2.4.2005 10:42 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    Tu prostřední část můžeš napsat snáz v ledasčem, napsal jsem ji v sedu, protože jsem měl sedovou náladu. Trik je v těch tac na začátku a na konci...
    2.4.2005 11:07 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    Třeba v Perlu (samozřejmě s využitím Yetiho cool tac|...|tac nápadu)... :-)

    tac soubor|perl -pe '(/./ and ++$x) or ($_="$x\n" and $x=)' |tac
    2.4.2005 14:41 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    Ale udělat to celé v jednom průchodu a držet si v paměti jen aktuální blok textu by snížilo paměťovou náročnost na O(délka nejdelšího bloku) ;-)
    2.4.2005 14:48 Michal Marek (twofish) | skóre: 55 | blog: { display: blog; } | Praha
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    Aha, ne tak docela, tac si standardní vstup ukládá na disk.
    2.4.2005 15:33 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše Re: nahrada za prazdneho radku za cislo
    Šlo by to samozřejmě udělat jednoprůchodově a v pythonu či perlu by to byla trivialita. Dokonce i v sedu by to šlo celkem snadno -- musel by sis jen na začátku hold space uchovávat počítadlo a přidávat do něj řádky; až by skončil blok, celé bys to vypsal; trochu otravná by byla korektní inicializace a ukončení. Chm, ve srovnání s tou inkrementací v destíkové soustavě by se tím asi ten program ani moc neprodloužil.

    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.