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í
×
    včera 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 0
    19.12. 10:11 | IT novinky

    V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od

    … více »
    Ladislav Hagara | Komentářů: 8
    19.12. 03:11 | Komunita

    Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.

    Ladislav Hagara | Komentářů: 0
    19.12. 02:11 | Zajímavý článek

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.12. 02:00 | Nová verze

    OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.

    Ladislav Hagara | Komentářů: 0
    19.12. 01:00 | IT novinky

    Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.

    Ladislav Hagara | Komentářů: 9
    Kdo vám letos nadělí dárek?
     (27%)
     (2%)
     (12%)
     (2%)
     (2%)
     (2%)
     (10%)
     (27%)
     (16%)
    Celkem 51 hlasů
     Komentářů: 16, poslední včera 23:13
    Rozcestník

    Dotaz: výpis n-tého řádku

    15.6.2006 14:01 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    výpis n-tého řádku
    Přečteno: 632×
    Existuje nějaký filtr (jako head, tail apod.), který by uměl vypsat každý n-tý řádek? Nebo dokonce třeba každou sekundu vypsal poslední řádek, který dostal na vstupu? Napsat to třeba v Pythonu by nebyl problém, ale žíkám si, že už to musí existovat…

    K čemu bych to potřeboval? Některé programy mají jen dvě volby 2: buď něco dělá, ale nevypisuje nic, nebo vypisuje info třeba o každém zpracovávaném souboru. Např. cp kopíruje a kopíruje a nezbývá, než čekat až (zda) skončí. Naproti tomu cp -v vypisuje název každého kopírovaného souboru. Což při vzdáleném připojení přes ssh taky není úplně ono… Líbilo by se mi přesměrovat výstup cp -v do nějakého filtru, který by vypsal třeba každý stý řádek. Takže bych věděl, že se něco děje, případně bych dokázal zjistit, kde se kopírování zaseklo, ale neposílal by se mi zbytečně dlouhatánský výpis.

    Odpovědi

    David Watzke avatar 15.6.2006 14:03 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    cp -g?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    15.6.2006 14:05 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Co třeba se nejdřív kouknout do FAQ? - http://www.abclinuxu.cz/faq/skripty/vyhledavani-v-linuxu
    15.6.2006 14:09 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Jinak ještě pro doplnění:
    tail -f /cesta/k/souboru_kde_mi_na_konci_pribyvaji_radky 
    Tím souborem může být třeba log, nebo přesměrovaný výstup, atd. atd.. Je tolik možností a variant...
    15.6.2006 15:21 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Jenom škoda, že v tom streamu nic nehledám, to bych pak tento konkrétní FAQ třeba i použil… tail -f vypisuje data, která byla do streamu přidána od posledního výpisu, tj. vypíše je všechna. Takže psát
    cat soubor.txt | tail -f
    
    vyjde nastejno, jako
    cat soubor.txt
    
    akorát je to daleko složitější a neefektivnější.

    Ale jinak díky za snahu ;-)
    15.6.2006 14:08 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    sed?
          first~step
                  Match every step'th line starting with line first.  For example,
                  ``sed -n 1~2p'' will print all the  odd-numbered  lines  in  the
                  input  stream,  and the address 2~5 will match every fifth line,
                  starting with the second. (This is an extension.)
    
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    15.6.2006 15:06 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Dík, to bude ono. Myslel jsem, že na to bude nějaká jednoúčelová utilitka, sed zrovna nemusím :-) Ale darovanému koni na zuby nekoukej ;-) S tím výpisem v pravidelném časovém intervalu jsem si už asi navymýšlel moc, jdu oprášit své znalosti Pythonu :-)
    15.6.2006 14:09 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Sed snad zná adresu ve tvaru start~step.
    15.6.2006 14:10 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Pošlete-li tomuto skriptu výpis přes rouru, vypíše každý desátý řádek.
    #!/bin/bash
    let I=0
    while read line; do
      let I++
      if [ $I -eq 10 ]; then
        let I=0
        echo $line
      fi
    done
    
    15.6.2006 14:20 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Je to fakt blbina, ale tohle ti udělá úplně totéž:
    sed -n '{n;n;n;n;n;n;n;n;n;p}' zdroj_radku.txt
    Pro hůř chápavé:
    cat zdroj_radku.txt | sed -n '{n;n;n;n;n;n;n;n;n;p}'
    David Watzke avatar 15.6.2006 14:22 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Pro hůř chápavé přidejme zbytečně delší variantu ;-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    15.6.2006 14:30 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Teda nemyslel jsem si, že hůř chápavý budeš zrovna ty. Cílem bylo ukázat že není nutno příkaz set aplikovat pouze na soubor, ale že jej lze použít i na proud dat. ;-) A že to je dlouhé? No jasně, když chce někdo vypsat pouze každý desátý řádek, tak musí uvést at udělá sed devětkrát hop (n). Možná to tedy jde zapsat i nějak jednodušeji (9 x n ?) ale nechce se mi to hledat.
    David Watzke avatar 15.6.2006 19:25 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Tak jsem to nemyslel. Možná to jde zapsat nějak snadněji, ale proč přidávat i prasečí variantu s catem? Abys ukázal že jej lze použít i na proud dat? No, ono by se od programu jménem Stream editor, řekl bych, dalo očekávat, že umí pracovat s proudem dat :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    15.6.2006 14:10 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    # vypis $N riadkov zacinajuc riadkom $R
    tail +$R | head -$N
    
    Josef Kufner avatar 15.6.2006 15:15 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    awk 'NR % 2 == 0 {print $0}' <odkud >kam
    Hello world ! Segmentation fault (core dumped)
    15.6.2006 15:19 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Ano, řešení existuje spousta - sed, perl, python, bash, tail ... ale všimli jste si, že žádné z nich nefunguje? Tedy v tom smyslu, aby to _průběžně_ vypisovalo přibývající řádky. Může za to (plné) bufferování standardního výstupu, které se zapíná vždy, když výstupem není terminál. Bohužel, vnějšími prostředky nelze donutit 'cp -v', aby při každém vypsaném řádku zavolalo fflush() nebo vždy používalo line-buffering. Když výstup z tohoto programu
    #!/usr/bin/env python
    import time, sys
    for i in xrange(10):
        sys.stdout.write('%d\n' %i)
        sys.stdout.flush()
        time.sleep(1)
    
    přesměruju tomuto programu
    #!/usr/bin/env python
    import sys
    
    while True:
        line = sys.stdin.readline()
        if not line: break
        sys.stdout.write(line)
    
    Tak se to bude vypisovat hezky postupně. Ale kdybych v tom prvním programu vynechal flush(), tak mám prostě smůlu.

    Kéž bych se mýlil...
    15.6.2006 15:28 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Bohužel je to s tím bufferováním pravda. A dělá to nejen cp. Stačí si vyzkoušet samotné
    cp -v | less
    
    nebo třeba
    find … | less
    
    Řádky se neobjevují postupně, ale vždy se objeví až celý kus výpisu najednou.

    Asi se holt budu muset smířit s tím, že takovýhle výpis zbytečně zaplňuje obrazovku a přenáší se po síti…
    15.6.2006 15:41 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: ýpis n-tého řádku
    Dělají to tak všechny programy, u kterých se autor specificky nepostará, aby to bylo jinak. Což v praxi znamená drtivou většinu.:

    At program startup, three streams are predefined and need not be opened explicitly:
    * standard input (for reading conventional input),
    * standard output (for writing conventional output), and
    * standard error (for writing diagnostic output).
    These streams are abbreviated stdin, stdout and stderr. Initially, the standard error stream is unbuffered; the standard input and output streams are fully buffered if and only if the streams do not refer to an interactive or ``terminal'' device, as determined by the isatty(3) function. In fact, all freshly-opened streams that refer to terminal devices default to line buffering, and pending output to such streams is written automatically whenever such an input stream is read.

    Takže kdyby se dalo nějak zařídit, aby isatty() vracelo nulu ...
    15.6.2006 18:50 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: výpis n-tého řádku
    Protože pipeline vytváří shell, měl by to být zřejmě on, kdo je schopen nastavit příslušným streamům nějaké parametry. Hledal jsem to pro zsh, našel jsem stejný problém, jeho řešení je "úkrok stranou" – zsh to nejspíš neumí, odkazuje se tam na ptyget (autorem je DJB, což je snad záruka kvality), podívám se, co to umí…

    Díky všem za rady. A taky díky adminům za přidání "v" do toho mého "ýpisu". Někdo mi ho musel cestou ukradnout, protože v náhledu určitě bylo ;-)

    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.