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 | Bezpečnostní upozornění

Vývojáři linuxové distribuce Mageia na svém blogu upozorňují na narušení bezpečnosti Mageia Identity. Narušitel získal přístup k LDAP databázi a zveřejnil jména uživatelů, jejich emailové adresy a haše hesel. Hesla uživatelů byla resetována.

Ladislav Hagara | Komentářů: 0
včera 21:55 | Nová verze

Byla vydána verze 2.0.0 nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). Z novinek je nutno upozornit na nový zpětně nekompatibilní formát záznamu asciicast v2. S novým formátem si poradí nové verze asciinema-playeru a asciinema-serveru [Hacker News].

Ladislav Hagara | Komentářů: 0
včera 05:55 | Zajímavý projekt

Dle příspěvku na blogu zaměstnanců CZ.NIC byl spuštěn ostrý provoz služby Honeypot as a Service (HaaS). Zapojit se může kdokoli. Stačí se zaregistrovat a nainstalovat HaaS proxy, která začne příchozí komunikaci z portu 22 (běžně používaného pro SSH) přeposílat na server HaaS, kde honeypot Cowrie (GitHub) simuluje zařízení a zaznamenává provedené příkazy. Získat lze tak zajímavé informace o provedených útocích. K dispozici jsou globální statistiky.

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

Před týdnem společnost Feral Interactive zabývající se vydáváním počítačových her pro operační systémy macOS a Linux oznámila, že pro macOS a Linux vydají hru Rise of the Tomb Raider. Včera společnost oznámila (YouTube), že pro macOS a Linux vydají také hru Total War Saga: Thrones of Britannia. Verze pro Windows by měla vyjít 19. dubna. Verze pro macOS a Linux krátce na to.

Ladislav Hagara | Komentářů: 0
19.2. 21:33 | Nová verze

Byla vydána nová major verze 7.10 svobodného systému pro řízení vztahů se zákazníky (CRM) s názvem SuiteCRM (Wikipedie). Jedná se o fork systému SugarCRM (Wikipedie). Zdrojové kódy SuiteCRM jsou k dispozici na GitHubu pod licencí AGPL.

Ladislav Hagara | Komentářů: 0
19.2. 16:44 | Nová verze

Byla vydána nová verze 0.30 display serveru Mir (Wikipedie) a nová verze 2.31 nástrojů snapd pro práci s balíčky ve formátu snap (Wikipedie). Z novinek Miru vývojáři zdůrazňují vylepšenou podporu Waylandu nebo možnost sestavení a spouštění Miru ve Fedoře. Nová verze snapd umí Mir spouštět jako snap.

Ladislav Hagara | Komentářů: 0
19.2. 14:00 | Komunita

Na Indiegogo běží kampaň na podporu Sway Hackathonu, tj. pracovního setkání klíčových vývojářů s i3 kompatibilního dlaždicového (tiling) správce oken pro Wayland Sway. Cílová částka 1 500 dolarů byla vybrána již za 9 hodin. Nový cíl 2 000 dolarů byl dosažen záhy. Vývojáři přemýšlejí nad dalšími cíli.

Ladislav Hagara | Komentářů: 1
19.2. 11:11 | Nasazení Linuxu

Před dvěma týdny se skupina fail0verflow (Blog, Twitter, GitHub) pochlubila, že se jim podařilo dostat Linux na herní konzoli Nintendo Switch. O víkendu bylo Twitteru zveřejněno další video. Povedlo se jim na Nintendo Switch rozchodit KDE Plasmu [reddit].

Ladislav Hagara | Komentářů: 3
19.2. 05:55 | Komunita

Byla vydána vývojová verze 3.2 softwaru Wine (Wikipedie), tj. softwaru, který vytváří aplikační rozhraní umožňující chod aplikací pro Microsoft Windows také pod GNU/Linuxem. Z novinek lze zdůraznit například podporu HID gamepadů. Aktuální stabilní verze Wine je 3.0, viz verzování. Nejistá je budoucnost testovací větve Wine Staging s řadou experimentálních vlastností. Současní vývojáři na ni již nemají čas. Alexandre Julliard, vedoucí projektu Wine, otevřel v diskusním listu wine-devel diskusi o její budoucnosti.

Ladislav Hagara | Komentářů: 3
18.2. 16:55 | Komunita

Do 22. března se lze přihlásit do dalšího kola programu Outreachy (Wikipedie), jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 14. května do 14. srpna 2018, v participujících organizacích lze vydělat 5 500 USD.

Ladislav Hagara | Komentářů: 62
Který webový vyhledávač používáte nejčastěji?
 (2%)
 (28%)
 (62%)
 (2%)
 (3%)
 (1%)
 (1%)
 (1%)
Celkem 394 hlasů
 Komentářů: 34, poslední 14.2. 18:44
    Rozcestník

    Dotaz: sed - výběr řádků v souboru podle času

    27.11.2007 22:50 pavel
    sed - výběr řádků v souboru podle času
    Přečteno: 549×
    Dobrý den, mám takovýto soubor:
    xxx;xx;xxx;xxx;2007-03-28;10:20:05
    xxx;xx;xxx;xxx;2007-03-28;16:20:05
    xxx;xx;xxx;xxx;2007-03-28;21:20:05
    xxx;xx;xxx;xxx;2007-03-28;23:20:05
    xxx;xx;xxx;xxx;2007-03-29;00:20:05
    xxx;xx;xxx;xxx;2007-03-29;06:20:05
    xxx;xx;xxx;xxx;2007-03-29;11:20:05
    xxx;xx;xxx;xxx;2007-03-29;14:20:05
    xxx;xx;xxx;xxx;2007-03-29;20:20:05
    xxx;xx;xxx;xxx;2007-03-30;10:20:05
    ------------
    ------------
    
    Mám např. tyto proměnné:
    Datum_start=2007-03-28
    Hodina_start=18:02:10
    Datum stop=2007-03-29
    Hodina_stop=16:21:55
    
    Potřeboval bych vypsat všechny řádky od Datum_start -Hodina_start do Datum stop - Hodina_stop. Umím vypsat řádky jen podle datumu:

    sed -n "/$Datum_start/,/$Datum_stop/ p"

    Zkoušel jsem:

    sed -n "/$Datum_start [$Hodina_start]/,/$Datum_stop/ p", ale toto mi nefunguje. Nevím, jak přidat tu druhou proměnnou, aby to vypsalo řádky od $Hodina_start.

    Odpovědi

    27.11.2007 23:41 Aleš Kapica | skóre: 46 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    A proč zrovna sed? Přijde mi na to lepší awk
    user@stroj:~$ awk -F\; '{if ($5>="2007-03-28" && $5<="2007-03-28") print $0}' test.txt
    xxx;xx;xxx;xxx;2007-03-28;10:20:05
    xxx;xx;xxx;xxx;2007-03-28;16:20:05
    xxx;xx;xxx;xxx;2007-03-28;21:20:05
    xxx;xx;xxx;xxx;2007-03-28;23:20:05
    
    A podmínky si lze nakombinovat dle libosti..
    28.11.2007 00:32 pavel
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Tak přesně toto v sedu umím, ale co s těmi hodinami?
    28.11.2007 00:40 pavel
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Díky, už jsem to pochopil, stačilo jen přidat další podmínku za && ... Dobrou noc
    28.11.2007 09:00 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Proč zrovna awk? Přijde mi na to lepší sed :)
    sed -n "/$Datum_start;$Hodina_start/,/$Datum_stop;&Hodina_stop/p"
    28.11.2007 09:01 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Překlep
    sed -n "/$Datum_start;$Hodina_start/,/$Datum_stop;$Hodina_stop/p
    "
    28.11.2007 09:27 Aleš Kapica | skóre: 46 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Nemusíš se trefit do té správné startovací hodiny..
    28.11.2007 10:07 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Pravda, nevšiml jsem si že ty hodiny nezná přesně.... (na pohled přesně vypadaly, asi jako počet obyvatel republiky:).
    28.11.2007 11:47 pavel
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Tak jsem se unáhlil:

    1. Takto to funguje:

    user@stroj:~$ awk -F\; '{if ($5>="2007-03-28" && $5<="2007-03-28") print $0}' test.txt

    2. Takto ne, nevezme to tu druhou proměnnou "Datum_stop". Neví někdo proč?

    user@stroj:~$ awk -F\; '{if ($5>="$Datum_start" && $5<="$Datum_stop") print $0}' test.txt
    28.11.2007 12:53 mlz
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Problem v expanzi ''

    awk -F\ -v DSTART=$Datum_start -v DSTOP=$Datum_stop '{}' v awk budou promenne Datum_start mapovana na DSTART
    28.11.2007 14:05 pavel
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Tak výběr podle datumu s proměnnými už funguje:
    user@stroj:~$ awk -F\; -v datstart=$Datum_start -v datstop=$Datum_stop \
    '{if ($5>=datstart && $5<=datstop) print $0}' test.txt
    Neví někdo, jak tam ještě přidat ty hodiny?
    28.11.2007 14:46 macrek | skóre: 12
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    napriklad takto:

    awk -F\; -v datstart=$datum_start -v datstop=$datum_stop -v hodstart=$hodina_start -v hodstop=$hodina_stop '$5 == datstart && $6 == hodstart,$5 == datstop && $6 == hodstop{print}' sample.txt
    An eye for an eye makes the whole world blind.
    28.11.2007 16:12 pavel
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Mám např. tyto proměnné:
    datum_start=2007-03-28
    hodina_start=18:02:10
    datum_stop=2007-03-29
    hodina_stop=16:21:55
    awk -F\; -v datstart=$datum_start -v datstop=$datum_stop -v hodstart=$hodina_start -v 
    
    hodstop=$hodina_stop '$5 == datstart && $6 == hodstart,$5 == datstop && $6 == hodstop{print}' test.txt
    Nezobrazí nic.
    28.11.2007 16:33 Aleš Kapica | skóre: 46 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Bodejť ;-) Stačí se jen kouknout na podmínky.. "==" není totéž co ">=" nebo ">"
    28.11.2007 20:08 macrek | skóre: 12
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    tak ako som to napisal, tak som to napisal :) tie podmienky su dobre, funguje to spravne:

    user@neuron-ai ~ $ cat test.txt
    1 xxx;xx;xxx;xxx;2007-03-28;10:20:05
    2 xxx;xx;xxx;xxx;2007-03-28;16:20:05
    3 xxx;xx;xxx;xxx;2007-03-28;21:20:05
    4 xxx;xx;xxx;xxx;2007-03-28;23:20:05
    5 xxx;xx;xxx;xxx;2007-03-29;00:20:05
    6 xxx;xx;xxx;xxx;2007-03-29;06:20:05
    7 xxx;xx;xxx;xxx;2007-03-29;11:20:05
    8 xxx;xx;xxx;xxx;2007-03-29;14:20:05
    9 xxx;xx;xxx;xxx;2007-03-29;20:20:05
    10 xxx;xx;xxx;xxx;2007-03-30;10:20:05
    
    user@neuron-ai ~ $ cat oddo
    #!/bin/bash
    datum_start=2007-03-28
    hodina_start=21:20:05
    datum_stop=2007-03-29
    hodina_stop=20:20:05
    
    awk -F\; -v datstart=$datum_start -v datstop=$datum_stop \
    -v hodstart=$hodina_start -v hodstop=$hodina_stop '$5 == datstart && \
    $6 == hodstart,$5 == datstop && $6 == hodstop{print}' test.txt
    
    user@neuron-ai ~ $ ./oddo
    3 xxx;xx;xxx;xxx;2007-03-28;21:20:05
    4 xxx;xx;xxx;xxx;2007-03-28;23:20:05
    5 xxx;xx;xxx;xxx;2007-03-29;00:20:05
    6 xxx;xx;xxx;xxx;2007-03-29;06:20:05
    7 xxx;xx;xxx;xxx;2007-03-29;11:20:05
    8 xxx;xx;xxx;xxx;2007-03-29;14:20:05
    9 xxx;xx;xxx;xxx;2007-03-29;20:20:05
    

    Problem je v zle naplnenych premennych. Ak tvoj test.txt obsahuje to iste co moj, tak je jasne, ze ti to nepojde, pretoze sa nenajde dany cas (hodina_start).

    "Program" samozrejme hlada presny vyskyt retazca. Teda datum/cas musi presne sediet s nejakym datumom/casom v test.txt.
    An eye for an eye makes the whole world blind.
    28.11.2007 20:30 pavel
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Toto také nefunguje:
    awk -F\; -v datstart=$datum_start -v datstop=$datum_stop -v hodstart=$hodina_start -v 
    
    hodstop=$hodina_stop '$5 >= datstart && $6 >= hodstart,$5 <= datstop && $6 <= hodstop{print}' test.txt
    28.11.2007 22:48 Aleš Kapica | skóre: 46 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Bodejť by to taky fungovalo, když se ti z toho úplně vytratily podmínky. Koukni se na původní podobu toho příkladu.Dnes už je pozdě na to abych myslel, takže ti to nenapíšu.
    28.11.2007 23:10 pavel
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Abych to zrekapituloval... Mám takovýto soubor test.txt:
    xxx;xx;xxx;xxx;2007-03-28;10:20:05
    xxx;xx;xxx;xxx;2007-03-28;16:20:05
    xxx;xx;xxx;xxx;2007-03-28;21:20:05
    xxx;xx;xxx;xxx;2007-03-28;23:20:05
    xxx;xx;xxx;xxx;2007-03-29;00:20:05
    xxx;xx;xxx;xxx;2007-03-29;06:20:05
    xxx;xx;xxx;xxx;2007-03-29;11:20:05
    xxx;xx;xxx;xxx;2007-03-29;14:20:05
    xxx;xx;xxx;xxx;2007-03-29;20:20:05
    xxx;xx;xxx;xxx;2007-03-30;10:20:05
    ------------
    ------------
    
    Mám např. tyto proměnné:
    Datum_start=2007-03-28
    Hodina_start=18:02:10
    Datum stop=2007-03-29
    Hodina_stop=16:21:55
    
    Chci vypsat řádky od Datum_start - Hodina_start do Datum stop - Hodina_stop. Problém je, že se Hodina_start a Hodina_stop nemusí přesně shodovat s údaji v souboru test.txt. Nakonec jsem přišel na toto řešení:
    #prevede datum a cas v souboru test.txt (napr.2007-03-28;18:02:10)\
    #na cislo (napr. 20070328180210) a ulozi do souboru test1.txt
    cat test.txt|sed '/-/s///g;/:/s///g;/;/s///5'>test1.txt 
    
    datumstart=2007-03-28
    hodinastart=18:02:10
    #vysledna promenna start bude mit format 20070328180210
    start=$(echo $datumstart$hodinastart|sed '/-/s///g;/:/s///g;/;/s///5')
    
    
    datumstop=2007-03-29
    hodinastop=16:21:55
    #vysledna promenna stop bude mit format 20070329162155
    stop=$(echo $datumstop$hodinastop|sed '/-/s///g;/:/s///g;/;/s///5')
    
    #vypise radky od 2007-03-28 16:20:05 do 2007-03-29 16:20:05
    awk -F\; -v datstart=$start -v datstop=$stop\
     '{if ($5>=datstart && $5<=datstop) print $0}' test1.txt
    
    Pokud se někomu nelíbí ten cat, tak je to proto, že mi to tyto stránky nechtěli vzít (nepovolený text test.txt). A jestli má někdo jednodušší řešení, sem s tím. By
    29.11.2007 00:25 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    2 zjednodušení :

    Pom.soub. test1.txt :
    sed 's/[-:]//g;/;/s///5' test.txt > test1.txt
    start (a podobně i stop) :
    start=${datumstart//-/}${hodinastart//:/}
    29.11.2007 00:30 Pavel1 | skóre: 33
    Rozbalit Rozbalit vše Re: sed - výběr řádků v souboru podle času
    Teda takto jsem to chtěl napsat :
    sed 's/[-:]//g;s/;//5' test.txt > test1.txt

    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.