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

Byla vydána verze 17.08.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace kmag, kmousetool, kgoldrunner, kigo, konquest, kreversi, ksnakeduel, kspaceduel, ksudoku, kubrick, lskat a umbrello byly portovány na KDE Frameworks 5.

Ladislav Hagara | Komentářů: 0
včera 15:11 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-08-16 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Nejnovější Raspbian je založen na Debianu 9 Stretch. Přehled novinek v poznámkách k vydání. Řešena je také bezpečnostní chyba Broadpwn (CVE-2017-9417).

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

Byla vydána verze 3.2.0 programu pro skicování, malování a úpravu obrázků Krita. Přehled novinek v poznámkách k vydání a na YouTube.

Ladislav Hagara | Komentářů: 0
včera 11:44 | IT novinky

Minulý týden na šampionátu The International 2017 byl představen bot, který poráží profesionální hráče počítačové hry Dota 2. V nejnovějším příspěvku na blogu se organizace OpenAI o projektu více rozepsala a zveřejnila videozáznamy několika soubojů.

Ladislav Hagara | Komentářů: 4
16.8. 17:11 | Komunita

Byly zveřejněny videozáznamy přednášek z Fedora 26 Release Party konané 10. srpna v Praze.

Ladislav Hagara | Komentářů: 0
16.8. 15:33 | Komunita

Přesně před čtyřiadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 5
16.8. 06:00 | Bezpečnostní upozornění

Ve virtualizačním softwaru Xen bylo nalezeno a opraveno 5 bezpečnostních chyb XSA-226 až XSA-230. Nejzávažnější z nich XSA-227 (CVE-2017-12137) umožňuje eskalaci privilegií a ovládnutí celého systému, tj. správce hostovaného systému se může stát správcem hostitelského systému.

Ladislav Hagara | Komentářů: 1
15.8. 22:00 | Zajímavý projekt

V roce 2013 proběhla na Kickstarteru úspěšná kampaň na podporu otevřeného Dobře temperovaného klavíru (Well-Tempered Clavier). Stejný tým s Kimiko Išizaka spustil před týdnem na Kickstarteru kampaň Libre Art of the Fugue na podporu svobodného Umění fugy.

Ladislav Hagara | Komentářů: 2
15.8. 13:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 143. brněnský sraz, který proběhne v pátek 18. srpna od 18:00 hodin ve sportovním areálu a restauraci BeachPub Sokolák u Brněnské přehrady aneb v hantecu u Prýglu.

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

Byla vydána (pdf) verze 3 průběžně aktualizované (rolling release) linuxové distribuce Solus (Wikipedie). Ke stažení je v edicích Budgie, GNOME a MATE. Z novinek lze zmínit například podporu snapů. Solus 3 obsahuje Firefox 55.0.1, LibreOffice 5.4.0.3, Rhythmbox 3.4.1 nebo Thunderbird 52.2.1. Edice Budgie a GNOME přichází s GNOME MPV 0.12. Edice MATE s VLC 2.2.6.

Ladislav Hagara | Komentářů: 5
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (17%)
 (77%)
Celkem 347 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    Rozcestník

    Dotaz: Spojení řádků označených čísly

    20.3.2010 12:15 Pan Mantinel
    Spojení řádků označených čísly
    Přečteno: 718×
    Zdravím, měl bych dotaz, vyfiltroval jsem si pomocí grepu řádky obsahující slova unfinished a resumed, výpis vypadá takto:
    28135: open("/etc/lib"map.conf3", O_RDONLY, (unfinished ...)
    28131: open("/etc/lib"map.conf12", O_RDONLY, (unfinished ...)
    28131: (... open resumed)) = 0
    28135: (... open resumed)) = -1 ENOENT (No such file or directory)
    
    A potřeboval bych řádky se stejným počátečním číslem spojit do jednoho, aby výstup vypadal takto:
    28135: open("/etc/lib"map.conf3", O_RDONLY, (unfinished ...)28135: (... open resumed)) = -1 ENOENT (No such file or directory)
    28131: open("/etc/lib"map.conf12", O_RDONLY, (unfinished ...)28131: (... open resumed)) = 0
    
    Tuším způsob, jak to třeba v awk udělat (začít u prvního řádku a porovnávat $1 s ostatními, když se najde shoda, vytisknout), ale vůbec mi nenapadá, jak to nakódit (s awk teprve začínám) a navíc mi tenhle způsob přijde neefektivní a náročný na čas.

    Odpovědi

    20.3.2010 12:44 buff | skóre: 10 | blog: buff
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    Jestli se celý ten výstup vejde do paměti, tak bych to udělal v perlu:
    my %line_pairs;
    while (my $line = <>) {
        chomp $line;
        my @fields = split ':', $line;
        my $num = shift @fields;
        $line_pairs{$num} .= join ':', @fields;
    }
    
    for my $key (sort keys %line_pairs) {
        print $line_pairs{$key}, "\n";
    }
    
    Možná trošku špatně, psáno z hlavy, netestováno.
    Víťa Šmíd avatar 20.3.2010 12:57 Víťa Šmíd | skóre: 41 | blog: vituv_blog | Praha
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    AWK řešení, také se text musí vejít do paměti. Testováno :-)
    {
    	i = $1
    	gsub(/:/, "", i)
    	lines[i] = lines[i] $0 " "
    }
    
    END {
    	for (i in lines) {
    		print lines[i]
    	}
    }
    
    When Chuck Norris plays Monopoly, it affects the actual world economy. | Matematika pro normální lidi
    kouby avatar 20.3.2010 13:14 kouby | skóre: 27 | blog: init | Praha
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    awk '{if($1 in a){print a[$1]""$0;delete a[$1];}a[$1]=$0}' vstup
    That's thirty minutes away. I'll be there in ten.
    20.3.2010 13:44 Pan Mantinel
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    Díky moc všem, už mi to trochu objasnilo, jak se vlastně s awk a perlem pracuje. Zatím mi na na první pohled na pochopení přijdou nejjednodušší obě řešení v awk, takže zkusím pořádně pochopit ty.
    Víťa Šmíd avatar 20.3.2010 14:58 Víťa Šmíd | skóre: 41 | blog: vituv_blog | Praha
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    Jestli se každé číslo řádku objeví právě dvakrát, je koubyho řešení lepší. To moje lze každopádně zjednodušit na
    {
    	lines[$1] = lines[$1] $0 " "
    }
    
    END {
    	for (i in lines) {
    		print lines[i]
    	}
    }
    
    Předtím jsem totiž zapomněl, že pole v AWK mohou jako klíče používat libovolné řetězce.
    When Chuck Norris plays Monopoly, it affects the actual world economy. | Matematika pro normální lidi
    wamba avatar 20.3.2010 15:55 wamba | skóre: 37 | blog: wamba
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    jak se vlastně s awk a perlem pracuje.
    Chcete si to ozkoušet a pak si vybrat. Mně se třeba pracuje lépe s perlem (je univerzálnějším nástrojem než awk, ale uznávám, že může ze awk může vypadat přehledněji).

    Samozřejmě v perlu by to šlo taky napsat zkráceně

    perl -ane 'chomp ;$line{$F[0]} .= $_; END{print $_,"\n" foreach values(%line)}'
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    20.3.2010 16:32 deadmail
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    Vo vseobecnosti je najrychlejsie subor najprv utriedit a potom staci porovnavat za sebou iduce riadky. Staci si teda pamatat len rovnako zacinajuce riadky.

    sort subor | awk 'NR == 1 {last_id=$1;last=$0} NR > 1 {if ($1 == last_id) {last = last$0} else {print last; last=$0; last_id=$1}} END {print last}'

    Ak je subor vysledkom prikazu
    grep
    , tak uz asi utriedeny je ;-)
    25.3.2010 17:19 pluto
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    a ako by sa do takeho vyrazu dala zakomponovat podmienka nech to spaja len riadky v ktorych sa to unfinished ... a open resumed vyskytuje ?
    25.3.2010 20:48 deadmail
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    sort subor | awk 'NR == 1 {last_id=$1;last=$0} NR > 1 {if (($1 == last_id) && ($0 ~ "unfinished|open resumed")) {last = last$0} else {print last; last=$0; last_id=$1}} END {print last}'
    25.3.2010 22:56 Nonsens
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    ja len tak...funguje aspon jedna moznost? :DD
    26.3.2010 09:11 pluto
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    nie uplne ale myslim ze sa to z toho bude dat poskladat :D
    27.3.2010 13:35 Nonsens
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    a ktora moznost je asi taka najidealnejsia?
    27.3.2010 17:10 hizo
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    ja by som to tiez potreboval a v awk pracovat neviem. takze ak mam riadky: 3733 execve("/bin/ls", ["ls", "/etc/anacrontab", "/etc/blkid.tab", "/etc/crontab", "/etc/crypttab", "/etc/fstab", "/etc/mtab"], [/* 38 vars */] < unfinished ...>
    3733 <... execve resumed> ) = 0
    3735 execve("/bin/sed", ["sed", "-n", "1p"], [/* 38 vars */] < unfinished ...>
    3735 <... execve resumed> ) = 0
    mohol by sem niekto napisat riesenie v awk aby mi to spojilo riadky ktore si odpovedaju tymi zaciatocnymi cislami?dakujem
    27.3.2010 15:42 hizo
    Rozbalit Rozbalit vše Re: Spojení řádků označených čísly
    prosim vas a neda sa to spravit cisto sedmi a grepom??ze napriklad cely vypis suboru budem mat ulozeny v premennej a neda sa to par grepmi a sedmi pospajat??

    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.