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 01:33 | Komunita

    Vojtěch Polášek představil Vojtux, tj. linuxovou distribuci pro zrakově postižené uživatele. Vychází ze spinu Fedory 43 s desktopovým prostředím MATE. Konečným cílem je, aby žádný Vojtux nebyl potřeba a požadovaná vylepšení se dostala do upstreamu.

    Ladislav Hagara | Komentářů: 4
    dnes 00:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) druhá RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 160 (pdf).

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

    Izrael od února zakáže dětem používat v prostorách základních škol mobilní telefony. Podle agentury AFP to uvedlo izraelské ministerstvo školství, které zdůraznilo negativní dopady, které na žactvo používání telefonů má. Izrael se tímto krokem přidává k rostoucímu počtu zemí, které dětem ve vzdělávacích zařízeních přístup k telefonům omezují.

    Ladislav Hagara | Komentářů: 22
    včera 14:00 | IT novinky

    Internetová společnost Google ze skupiny Alphabet pravděpodobně dostane příští rok pokutu od Evropské komise za nedostatečné dodržování pravidel proti upřednostňování vlastních služeb a produktů ve výsledcích vyhledávání. V březnu EK obvinila Google, že ve výsledcích vyhledávání upřednostňuje na úkor konkurence vlastní služby, například Google Shopping, Google Hotels a Google Flights. Případ staví Google proti specializovaným

    … více »
    Ladislav Hagara | Komentářů: 6
    včera 12:22 | Pozvánky

    Byl oznámen program a spuštěna registrace na konferenci Prague PostgreSQL Developer Day 2026. Konference se koná 27. a 28. ledna a bude mít tři tracky s 18 přednáškami a jeden den workshopů.

    TomasVondra | Komentářů: 0
    včera 12:11 | Pozvánky

    Na webu československého síťařského setkání CSNOG 2026 je vyvěšený program, registrace a další informace k akci. CSNOG 2026 se uskuteční 21. a 22. ledna příštího roku a bude se i tentokrát konat ve Zlíně. Přednášky, kterých bude více než 30, budou opět rozdělené do tří bloků - správa sítí, legislativa a regulace a akademické projekty. Počet míst je omezený, proto kdo má zájem, měl by se registrovat co nejdříve.

    VSladek | Komentářů: 0
    14.12. 00:44 | Zajímavý článek

    Máirín Duffy a Brian Smith v článku pro Fedora Magazine ukazují použití LLM pro diagnostiku systému (Fedora Linuxu) přes Model Context Protocol od firmy Anthropic. I ukázkové výstupy v samotném článku obsahují AI vygenerované nesmysly, např. doporučení přeinstalovat balíček pomocí správce balíčků APT z Debianu místo DNF nativního na Fedoře.

    |🇵🇸 | Komentářů: 39
    13.12. 04:55 | Zajímavý software

    Projekt D7VK dospěl do verze 1.0. Jedná se o fork DXVK implementující překlad volání Direct3D 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 1
    12.12. 16:00 | Nová verze

    Byla vydána nová verze 2025.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í na blogu.

    Ladislav Hagara | Komentářů: 2
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (48%)
     (20%)
     (17%)
     (23%)
     (15%)
     (24%)
     (15%)
     (18%)
    Celkem 468 hlasů
     Komentářů: 19, poslední 11.12. 20:04
    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: 820×
    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.
    20.3.2010 12:57 12345 | skóre: 41 | blog:
    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]
    	}
    }
    
    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.
    20.3.2010 14:58 12345 | skóre: 41 | blog:
    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.
    wamba avatar 20.3.2010 15:55 wamba | skóre: 38 | 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.