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 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ářů: 0
    dnes 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
    dnes 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ářů: 1
    dnes 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
    dnes 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
    dnes 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
    dnes 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ářů: 4
    včera 14:44 | IT novinky

    Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.

    Ladislav Hagara | Komentářů: 5
    včera 12:22 | Bezpečnostní upozornění

    Rozšíření webového prohlížeče Urban VPN Proxy a další rozšíření od stejného vydavatele (např. 1ClickVPN Proxy, Urban Browser Guard či Urban Ad Blocker) od července 2025 skrytě zachytávají a odesílají celé konverzace uživatelů s AI nástroji (včetně ChatGPT, Claude, Gemini, Copilot aj.), a to nezávisle na tom, zda je VPN aktivní. Sběr probíhá bez možnosti jej uživatelsky vypnout a zahrnuje plný obsah dotazů a odpovědí, metadata relací i

    … více »
    Ladislav Hagara | Komentářů: 5
    včera 05:22 | Zajímavý software

    QStudio, tj. nástroj pro práci s SQL podporující více než 30 databází (MySQL, PostgreSQL, DuckDB, QuestDB, kdb+, …), se stal s vydáním verze 5.0 open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 6
    Kdo vám letos nadělí dárek?
     (11%)
     (0%)
     (0%)
     (0%)
     (11%)
     (0%)
     (22%)
     (33%)
     (22%)
    Celkem 9 hlasů
     Komentářů: 10, poslední dnes 12:54
    Rozcestník

    Dotaz: sed - smazani newline

    6.4.2009 15:29 Elijen
    sed - smazani newline
    Přečteno: 1858×

    Zdravim,

    poradil byste nekdo prosim jak pomoci sedu smazu vsechny nove radky? Vim ze by to slo udelat pomoci tr mnohem jednoduseji, ale chtel bych vedet jak na to v sedu.

    Teprve dneska jsem se dozvedel ze existuje neco jako hold space, ale vubec me to neposloucha ;-)

    Odpovědi

    Tarmaq avatar 6.4.2009 15:54 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: sed - smazani newline
    Zkus tohle:
    sed '/^$/d'
    Don't panic!
    6.4.2009 15:58 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: sed - smazani newline
    Třeba takhle (nakrmte přes STDIN nebo ze souboru argumentem příkazové řádky):
    sed -ne '1{h;n;}
    H
    ${g;s#\n# #g;p;}'
    
    6.4.2009 16:00 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: sed - smazani newline
    Aha, koukám na příspěvek výše, a koukám, že má nejistota, jestli to správně chápu, byla na místě. Chcete odstranit znak "nový řádek" nebo jenom odstranit prázdné řádky? Nebo ještě něco jiného?
    Tarmaq avatar 6.4.2009 16:29 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: sed - smazani newline
    taky jsem si nebyl uplne jisty z dotazu autora, ale myslim ze chce odstranit prazdne radky ;]
    nejjistejsi ale bude, kdyz nam odpovi sam
    Don't panic!
    6.4.2009 16:34 l4m4
    Rozbalit Rozbalit vše Re: sed - smazani newline
    Nebo odstranit řádky, které nejsou staré...

    IMO odstranění řádků vyhovujících nějaké podmínce není úkol, k nemuž by člověka typicky napadlo použít hold space, takže bych se přikláněl k odstraňování \n. I když kdo ví...
    6.4.2009 17:30 Elijen
    Rozbalit Rozbalit vše Re: sed - smazani newline

    Omlouvam se za spatnou formulaci dotazu :-)

    To co chci je zkratka vymazat vsechny vyskyty "\n" ... tedy by mela vzniknout jedna dlouha radka, kterou dale budu parsovat.

    sed -ne '1{h;n;}
    H
    ${g;s#\n# #g;p;}'
    

    Zda se, ze toto pracuje, jak bych chtel, dekuji mnohokrat. Mohl byste prosim jeste vysvetlit jak to funguje? Neni mi jasne kdy a proc nastava okamzik ze mohu pouzit s/\n/ /g, ktery bezne nefunguje.

    6.4.2009 17:51 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: sed - smazani newline
    První řádek se provede pouze pro první řádek vstupu: vloží jej do "hold spacu" a skočí přeskočí na zpracovávání dalšího záznamu. Druhý řádek pak přidá každý další řádek do "hold spacu". Tahle konstrukce (místo prostého H bez rozlišení řádku je tam proto, abyste nezačal celý "hold space" prázdným řádkem.

    Třetí řádek se provede až u poslední položky na vstupu. Po přidání řádku do "hold spacu" si pomocí g vložíte vše, co jste si odložil do aktuálně zpracovávaného prostoru, nahradíte ty nové řádky (s) a výsledek vytisknete (p).

    Jde to i bez "hold space" použitím příkazů pro práci s více řádky, ale když už jste je zmiňoval, tak proč je neukázat v praxi. ;)
    6.4.2009 19:28 Elijen
    Rozbalit Rozbalit vše Re: sed - smazani newline
    Chápu-li to správně, tak důvod, proč to funguje je ten, že když z hold space zkopíruji obsah do pattern space, tak sed zpracovává celý obsah pattern space jako by to byl jeden řádek?
    6.4.2009 23:25 Ondřej Kubečka | skóre: 29 | blog: datlovo | Ulm
    Rozbalit Rozbalit vše Re: sed - smazani newline
    Ano, po příkazu g/x (a svým způsobem G) zpracováváte to, co bylo do teď uloženo v "hold space". Když to bylo více naakumulovaných řádků, tak je máte na talíři všechny včetně "new line" mezi nimi.
    7.4.2009 10:46 l4m4
    Rozbalit Rozbalit vše Re: sed - smazani newline
    K tomu ovšem není třeba používat hold space, viz moje řešení: prostě se všechno naráz načte do pattern space, odstraní \n a vypíše.
    8.4.2009 18:06 Elijen
    Rozbalit Rozbalit vše Re: sed - smazani newline
    Nicméně Vaše řešení mi nefunguje ;) ... výstup vypadá nepozměněn.
    9.4.2009 10:51 l4m4
    Rozbalit Rozbalit vše Re: sed - smazani newline
    $ sed --version
    GNU sed version 4.1.5
    Copyright (C) 2003 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,
    to the extent permitted by law.
    $ sed --version | sed ':a ${s/\n//g;t;};N;ba'
    GNU sed version 4.1.5Copyright (C) 2003 Free Software Foundation, Inc.This is free software; see the source for copying conditions.  There is NOwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE,to the extent permitted by law.
    
    6.4.2009 16:27 l4m4
    Rozbalit Rozbalit vše Re: sed - smazani newline
    sed ':a ${s/\n//g;t;};N;ba'

    I když toto tedy vypíše \n úplně na konci všeho...
    8.4.2009 21:00 MARION | Zlín
    Rozbalit Rozbalit vše Re: sed - smazani newline
    sed '/^$/d' soubor vymaze vsechny prazdne radky. Poradi nekdo jak zaridit, aby vsechny se po sobe jdouci prazdne radky zredukovaly na jeden? Tzn kazda dira mezi radky by se "smrskla" na jediny prazdny radek.
    9.4.2009 09:54 deadmail
    Rozbalit Rozbalit vše Re: sed - smazani newline
    napriklad cez awk ;-)
    awk '/^$/{while (match($0,/^$/) && getline);print ""};/./{print}' 
    
    9.4.2009 10:03 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: sed - smazani newline
    Stačí trochu přiohnout řešení uvedené výše - místo nahrazení konce řádku nahradíme po sobě jdoucí konce řádků jedním:
    sed -ne '1{h;n;}
    H
    ${g;s#\n\n\n*#\n\n#g;p;}'
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    9.4.2009 12:43 deadmail
    Rozbalit Rozbalit vše Re: sed - smazani newline
    vysledky uvedenych prikazov awk a sed sa lisia ak je viac prazdnych riadkov na zaciatku a/alebo na konci vstupu. Awk vypise aj tam iba jediny prazdny riadok :-) .
    12.4.2009 16:38 Elijen
    Rozbalit Rozbalit vše Re: sed - smazani newline

    Děkuji všem za rady, už to chápu ... nicméně mám daší problém ;) Na vstupu mám text, jež je (logicky) rozdělen do určitých bloků (každý blok končí řádkem na němž je pouze "."). A já bych chtěl, pomocí sedu tyto bloky vypsat odzadu - poslední, předposlední, ... (pořadí řádků v blocích se nemění). Nevíte někdo prosím, kde je chyba?

    #!/usr/bin/sed -f
    N
    /^\.$/{x;H}
    ${x;p}
    

    Skript spouštím s parametrem -n ... na výstupu se nic neobjěví ;(


    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.