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

    Byla vydána verze 1.70.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. Jako reakce na rostoucí obavy z vlivu korporací na vývoj Rustu a předložený návrh restriktivních zásad používání ochranných známek Rustu, byl nedávno představen komunitní fork Rustu se 100 % méně byrokracie: Crab (CrabLang).

    Ladislav Hagara | Komentářů: 3
    včera 21:55 | Zajímavý článek

    Oliver Smith z Canonicalu shrnuje základní vlastnosti „neměnné“ distribuce Ubuntu Core také ve srovnání s protějšky Chrome OS, Fedora Silverblue a MicroOS. Canonical připravuje desktopovou variantu Ubuntu Core vedle dosavadní serverové/embedded.

    Fluttershy, yay! | Komentářů: 0
    včera 13:33 | Upozornění

    Z aktualizovaného seznamu chyb (pdf) procesoru AMD EPYC 7002: #1474 - procesor se po 1044 dnech od posledního resetu zasekne [reddit].

    Ladislav Hagara | Komentářů: 7
    včera 13:00 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.22. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

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

    David Malcolm se ve svém příspěvku na blogu vývojářů Red Hatu rozepsal o vylepšeních statické analýzy (volba -fanalyzer) v GCC 13.

    Ladislav Hagara | Komentářů: 1
    včera 12:00 | Nová verze

    Byla vydána nová stabilní verze 23.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Stoat. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 11:44 | Bezpečnostní upozornění

    Příspěvek na blogu CZ.NIC upozorňuje na nový útok na weby v Česku. Na honeypotech na Turrisech byla zaznamenána nová aktivita útočníků - probíhající útok na FTP servery, které se vyskytují na stejné IP adrese, jako aktivní WEB server.

    Ladislav Hagara | Komentářů: 0
    31.5. 23:44 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi 2023.05. Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 0
    31.5. 20:22 | IT novinky

    Linux Foundation Europe představila projekt RISE (RISC-V Software Ecosystem), jehož cílem je urychlit vývoj open source softwaru pro architekturu RISC-V.

    Ladislav Hagara | Komentářů: 0
    31.5. 14:55 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu pro jednodeskové počítače na platformě ARM, byl vydán ve verzi 23.05. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    Twitter (nejen pro příležitostné čtení)
     (71%)
     (14%)
     (14%)
    Celkem 14 hlasů
     Komentářů: 0
    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: 378×
    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.