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 12:44 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) zveřejnil Národní politiku koordinovaného zveřejňování zranitelností (pdf), jejímž cílem je nejen zvyšování bezpečnosti produktů informačních a komunikačních technologií (ICT), ale také ochrana objevitelů zranitelností před negativními právními dopady. Součástí je rovněž vytvoření „koordinátora pro účely CVD“, jímž je podle nového zákona o kybernetické … více »

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 25.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    dnes 03:55 | Nová verze

    Společnost System76 vydala Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC. Videoukázky na YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 03:11 | Nová verze

    Byla vydána verze 1.92.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    dnes 01:33 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2024. Oceněni byli Andy Wingo, jeden ze správců GNU Guile, Alx Sa za příspěvky do Gimpu a Govdirectory jako společensky prospěšný projekt.

    |🇵🇸 | Komentářů: 2
    včera 18:55 | Nová verze

    Bylo vydáno Eclipse IDE 2025-12 aneb Eclipse 4.38. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

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

    U příležitosti oslav osmi let prací na debianím balíčku vyšlo GPXSee 15.6. Nová verze přináší především podporu pro geotagované MP4 soubory, včetně GoPro videí. Kdo nechce čekat, až nová verze dorazí do jeho distribuce, nalezne zdrojové kódy na GitHubu.

    Martin Tůma | Komentářů: 8
    včera 09:22 | Nová verze

    Monado, tj. multiplatformní open source implementace standardu OpenXR specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro virtuální realitu (VR) a rozšířenou realitu (AR), bylo vydáno ve verzi 25.1.0. Přehled novinek v poznámkách k vydání.

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

    Byla vydána listopadová aktualizace aneb nová verze 1.107 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.107 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    10.12. 19:22 | Zajímavý článek

    Pornhub zveřejnil podrobné statistiky za rok 2025. V části věnované zařízením a technologiím se lze dočíst, že 87 % přenášených dat směrovalo na telefony, 2 % na tablety a 11 % na desktopy. Operační systém Linux běžel na 6,3 % desktopů. O 22,4 % více než před rokem. Firefox má na desktopu 8,4 % podíl.

    Ladislav Hagara | Komentářů: 7
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (17%)
     (22%)
     (15%)
     (24%)
     (15%)
     (17%)
    Celkem 458 hlasů
     Komentářů: 19, poslední včera 20:04
    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: 462×
    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.