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 18:11 | Nová verze

    Byl vydán Debian 13.7, tj. sedmá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Zajímavý článek

    Jiří Eischmann se v příspěvku Fiasko jménem W Social na svém blogu věnuje evropské sociální síti W: "W Social je příkladem toho, že se problémy sociální sítí nedají řešit od exekutivního stolu. Když na začátku tohoto roku v Davosu oznámili vznik nové sociální sítě W Social, politici se mohli přetrhnout ve chvalozpěvech. Konečně evropská sociální síť a ještě s ověřením identity. … Jak se ukázalo, když v Davosu W Social oznamovali, neměli kromě

    … více »
    Ladislav Hagara | Komentářů: 15
    včera 18:00 | Bezpečnostní upozornění

    Výrobce hardwarových kryptoměnových peněženek Trezor upozorňuje na bezpečnostní incident u společnosti Brevo, kterou využívá k odesílání newsletterů. Útočník na e-mailové adresy odeslal phishingový e-mail.

    Ladislav Hagara | Komentářů: 5
    včera 14:33 | Komunita

    Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za srpen 2026. Aplikace XApp mají vlastní webovou stránku xapp-project.org. Představena byl čtečka EPUB s názvem Xepub a kalendář Clockenstein.

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

    Byla vydána nová verze 3.2.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

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

    Bylo vydáno Ubuntu 24.04.5 LTS, tj. páté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Komunita

    Švýcarsko testuje přechod z Microsoft 365 na FOSS, konkrétně balík openDesk (Wikipedie) od německé státní společnosti ZenDiS (Wikipedie), s cílem posílit digitální suverenitu.

    Ladislav Hagara | Komentářů: 9
    včera 04:22 | Komunita

    V italském městě Pordenone probíhá LibreOffice Conference 2026. Zúčastnit se lze i online.

    Ladislav Hagara | Komentářů: 0
    10.9. 18:33 | Nová verze

    Svobodný (GPLv3) šachový engine Stockfish (Wikipedie) byl vydán ve verzi 19 (𝕏). Přehled novinek v příspěvku na blogu. Stockfish 19 je o 44 Elo silnější než Stockfish 18.

    Ladislav Hagara | Komentářů: 0
    10.9. 12:33 | Nová verze

    Byla vydána nová verze 1.13.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2652 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: sed/awk efektivita

    honzous avatar 7.7.2008 15:32 honzous | skóre: 17 | blog: /var/log/honzous.log
    sed/awk efektivita
    Přečteno: 600×
    Zdravim,

    Prave jsem potreboval prostripovat jeden log a narazil jsem urcitou zabranu. Prozatim vzdy jsem to resil takovym osklivym "hackem", ale jsem si jisty, ze na to existuje efektivnejsi reseni. Akorat jsem lenivy prochazet vsechny mozne manualy, a tak se ptam komunity, nekdo z vas uz neco podobneho urcite resil a ma na to sve reseni.

    Potrebuji z jednoho logu dostat pouze urcitou hodnotu, ktera je uvozena pomoci r=hodnota (hodnota je vetsinou IP nebo domena). Ostatni zaznamy jsou oddeleny mezerou. Kazdy radek v logu ma variabilni pocet sloupcu, takze moje r= se neza zachytit statickym awk print $cislo.

    Moje osklive reseni:

    grep r\= pozadovany_log | sed -e s/^.*\ r\=//g | awk '{ print $1 }' Osklive, ale funguje. Zna nekdo lepsi zpusob?

    Dik
    Nevykej mi, ja ti taky nebudu vykat...↵ Mar 13 11:53:32 nevykat last message repeated 2324661 times

    Odpovědi

    7.7.2008 15:54 Miška | skóre: 31 | Praha
    Rozbalit Rozbalit vše Re: sed/awk efektivita
    cat log | sed -n 's|.*r=\([^[:blank:]]*\)[[:blank:]].*|\1|p'
    Samozrejme experimentalne otestovat a doladit
    stativ avatar 7.7.2008 16:06 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: sed/awk efektivita
    ten cat není potřeba
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    7.7.2008 15:55 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: sed/awk efektivita
    Osobně bych se pokusil napsat regulární výraz tak, abych si vystačil jen se sedem a grepem:
    grep "r=" protokol |  sed "s/.*r=\([a-zA-Z0-9.]*\).*/\1/"
    
    Najdu tedy řádky obsahující r= a vyberu jen to, co následuje za tímto řetězcem a skládá se z písmen, číslic a teček, což zachytí jak DNS záznamy, tak IPv4 adresy. Pokud jsou tam i IPv6, je třeba doplit dvojtečku. Příkaz počítá s tím, že na jednom řádku se r= vyskytuje pouze jedenkrát, pokud tomu tak není, vypíše hodnotu u posledního z nich.
    7.7.2008 16:19 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: sed/awk efektivita

    A ještě to jde zkrátit :-). sed umí i vyhledávat a tisknout jen na požádání:

    sed -n "/r=/s/.*r=\([a-zA-Z0-9.]*\).*/\1/p"
    Příkaz počítá s tím, že na jednom řádku se r= vyskytuje pouze jedenkrát, pokud tomu tak není, vypíše hodnotu u posledního z nich.

    Pokud by to byl problém, tak by tohle mohlo fungovat:

    sed 's/r=/\nr=/g' | sed ...
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    7.7.2008 16:22 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: sed/awk efektivita
    Díky za doplnení. :-)
    stativ avatar 7.7.2008 16:02 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: sed/awk efektivita
    Já bych to udělal asi takhle:
    grep r\= neco| sed 's/.*r\=\([^\ ]*\)\ .*/\1/g'
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    stativ avatar 7.7.2008 16:06 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: sed/awk efektivita
    Sakra, než jsem dočetl dotaz, už mě předběhli. Nicméně Miskovo řešení je nejlepší – nepoužívá grep a hlavně díky třídě [:blank:] si dovede poradit i s jinými oddělovači než je mezera.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    honzous avatar 7.7.2008 18:07 honzous | skóre: 17 | blog: /var/log/honzous.log
    Rozbalit Rozbalit vše Re: sed/awk efektivita
    Diky vsem za rady. Byl jsem presvedcen, ze nekdo prijde s jinou logikou, tedy necim misto smazani vseho, co je pred r= a vyexportovani prvniho sloupce v tom, co zbude. Ale to uz by pak asi nebyl one-liner :-)
    Nevykej mi, ja ti taky nebudu vykat...↵ Mar 13 11:53:32 nevykat last message repeated 2324661 times
    7.7.2008 19:26 Jan Šimák | skóre: 37 | Hradec Králové
    Rozbalit Rozbalit vše Re: sed/awk efektivita
    gawk -F 'r=' '/r\=/ { print $2 }' vstup.log | gawk '{ print $1 }'
    možná to zle řešit pomocí jednoho awk, ale netuším jak :-)

    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.