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

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

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

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

    Ladislav Hagara | Komentářů: 4
    včera 17:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 26
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 399 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Filtr (LAST LOG)

    pepe_ avatar 21.6.2013 18:41 pepe_ | skóre: 48
    Filtr (LAST LOG)
    Přečteno: 285×

    Potřebuji od někoho zkušeného nejjednodužší způsob jak přečíst log.log ve kterém jsou takovéto řádky :

    23.05.2013 04:47:15 MJ7HST
    24.01.2013 01:23:37 Y02HAL
    18.02.2013 03:38:05 RY7HRO
    10.04.2013 23:48:43 NL4SNE
    01.05.2013 09:47:33 MJ7HST

    datum , čas , uživatel (různá délka jména ale žádné mezery)

    potřebuji vypsat pouze poslední záznam každého uživatele (filtr posledního logu pro všechny uživatele)

     

    Napadá někoho elegantní řešení (awk , sed nebo kdo ví co na to použít) ?

     

    Děkuju ...


    Řešení dotazu:


    Odpovědi

    21.6.2013 21:17 jekub
    Rozbalit Rozbalit vše Re: Filtr (LAST LOG)
    sort (uzivatel, datum a cas sestupne), readline, pri kazde zmene uzivatele vypsat
    pepe_ avatar 22.6.2013 11:57 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Filtr (LAST LOG)

    cat log.log | awk '{print $3";"$1";"$2}' | sort -r

    udělá :

    GM1GVM;12.02.2012;14:30:14
    D1SKY;16.09.2012;23:08:01
    DX0ML;15.01.2013;08:08:39

    ale jak dál bez dlouhého patlání v IF a pracovních proměnných ?

    23.6.2013 16:53 jekub
    Rozbalit Rozbalit vše Re: Filtr (LAST LOG)
    #/bin/bash
    
    function print_last_log() {
       if [ $USER != $3 ]; then
          echo $1 $2 $3
          USER=$3
       fi
    }
    
    sort -k3 -k1.7nr -k1.4nr -k1nr -k2r log.log | \
    while read LINE; do
       print_last_log  $LINE
    done
    
    23.6.2013 16:56 jekub
    Rozbalit Rozbalit vše Re: Filtr (LAST LOG)
    #/bin/bash - chybi !
    23.6.2013 16:29 Kriegel
    Rozbalit Rozbalit vše Re: Filtr (LAST LOG)
    asi to nebude nejjednodussi, ale slozite to taky neni...

    #!/usr/bin/env perl 
    use strict;
    use warnings;
    
    my %lastlog;
    open (my $fh,"<","./log.log");
    while (<$fh>){
        chomp;
        my ($date, $time, $user) = split " ", $_;
        $lastlog{$user} = $date." ".$time;
    }
    close $fh;
    print "$_\t$lastlog{$_}\n" foreach (keys %lastlog);
    
    23.6.2013 18:46 NN
    Rozbalit Rozbalit vše Re: Filtr (LAST LOG)
    50c: Vstup:
    23.05.2013 04:47:15 MJ7HST
    23.05.2013 04:47:18 MJ7HST
    24.01.2013 01:23:37 Y02HAL
    18.02.2013 03:38:05 RY7HRO
    10.04.2013 23:48:43 NL4SNE
    01.05.2013 09:47:33 MJ7HST
    24.01.2013 01:25:37 Y02HAL
    26.01.2013 01:25:37 Y02HAL
    10.05.2013 23:48:43 NL4SNE
    
    cat log.log | sort -k 3 -rk 1 -k 2 | uniq -s 20
    
    Vystup:
    26.01.2013 01:25:37 Y02HAL
    18.02.2013 03:38:05 RY7HRO
    10.05.2013 23:48:43 NL4SNE
    23.05.2013 04:47:18 MJ7HST
    
    23.6.2013 21:31 potato
    Rozbalit Rozbalit vše Re: Filtr (LAST LOG)
    To myslím setřídilo pouze se štěstím, protože pro jiný vstup by to narazilo na ten idiotsky netříditelný formát data...
    23.6.2013 21:58 NN
    Rozbalit Rozbalit vše Re: Filtr (LAST LOG)
    Mas pravdu musel bych nejprve sed-em obratit den/mesic(u casoveho udaje to nevadi..), potom je to podle meho nazoru v poradku, tedy:
     cat test.txt | sed -r 's/(.+)\.(.+)\.(.+)/\2\.\1\.\3/' | sort -k 3 -rk 1 -k 2 | uniq -s 20
    Ten sed by mohl byt samozrejme prisnejsi..
    pepe_ avatar 24.6.2013 20:39 pepe_ | skóre: 48
    Rozbalit Rozbalit vše Re: Filtr (LAST LOG)

    Děkuji za nápady , určitě něco použiji .

    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.