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 16:22 | Nová verze

    Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | IT novinky

    Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).

    Ladislav Hagara | Komentářů: 0
    dnes 16:00 | Nová verze

    Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    dnes 12:22 | IT novinky

    Elon Musk prohrál soudní spor se společností OpenAI, která se podle jeho žaloby odchýlila od původně uváděného cíle vyvíjet umělou inteligenci (AI) ku prospěchu lidstva. Porota včera po necelých dvou hodinách dospěla k jednomyslnému závěru, že Musk žalobu podal příliš pozdě. Musk byl jedním ze spoluzakladatelů společnosti OpenAI, která vznikla v roce 2015 a vyvinula populární chatovací systém ChatGPT. V roce 2018 na svůj post ve vedení

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 10:22 | Nová verze

    Byla vydána nová verze 10.4 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Opraveny jsou zranitelnosti Copy Fail a Dirty Frag. Přibyl nový obraz pro Orange Pi 5B.

    Ladislav Hagara | Komentářů: 0
    dnes 07:44 | Zajímavý software

    Pokud je zranitelnost Linuxu v nepoužívaném jaderném modulu, lze ji jednoduše vyřešit zakázáním automatického načítání tohoto konkrétního zranitelného modulu. Projekt ModuleJail si klade za cíl zvýšit bezpečnost Linuxu zakázáním automatického načítání všech nepoužívaných jaderných modulů. Jedná se o skript, který dá všechny nepoužívané jaderné moduly na blacklist (/etc/modprobe.d/modulejail-blacklist.conf).

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

    Odborníci z Penn State University zkoumají způsob ukládání informací na lepicí pásku. Principiálně by podle nich bylo možné kombinací odlepení a zpětného přilepení dosáhnout uložení informace, kterou opětovným odlepením dokážou přečíst. Výhodou je, že způsob uložení i přečtení je čistě mechanický. Zde o tom referují ve volně dostupném článku. Zajímavé bude sledovat zda se jim v rámci výzkumu podaří prokázat použitelnost i v jiné než

    … více »
    karkar | Komentářů: 9
    včera 13:00 | Zajímavý projekt

    Na GitHubu byl publikován reprodukovatelný návod, jak rozchodit Adobe Lightroom CC na Linuxu a Wine. Návod byl vytvořený pomocí AI Claude Code.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Humor

    Pokud by někdo potřeboval Wayland kompozitor uvnitř počítačové hry Minecraft, aby mohl zobrazovat okna desktopových aplikací přímo v herním prostředí, může sáhnout po Waylandcraftu. Ukázka na YouTube.

    Ladislav Hagara | Komentářů: 2
    17.5. 23:55 | Zajímavý článek

    Uroš Popović v krátkém článku vysvětluje, co jsou emulátor terminálu, TTY a shell a jaké jsou mezi nimi rozdíly. Jde o první díl seriálu na jeho novém webu Linux Field Guide věnovaném nízkoúrovňové práci s linuxovými systémy.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1656 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: jak na spojení (některých) řádků

    23.12.2017 10:40 hajoucha | skóre: 22
    jak na spojení (některých) řádků
    Přečteno: 455×
    Ahojda, chci provést s řádky textového souboru následující operaci:

    "řádky, které nezačínají číslem připoj k předchozímu řádku"

    Příklad vstupu:
    1
    nec
    prase
    3 a
    fuj
    4 b
    
    výstup má být:
    1 nec prase
    3 a fuj
    4 b
    
    Zatím to umím zařídit pouze pomocí vim:

    vim -c ":g/^\D/-1 norm gJ"

    bohužel tímto způsobem skončím s otevřeným vim v terminálu, což je nežádoucí. Rád bych tu operaci prováděl ve skriptu. V zásadě by mi i stačilo jenom nějak (automaticky) uložit soubor a zavřít to vim...

    Řešení dotazu:


    Odpovědi

    23.12.2017 10:48 hajoucha | skóre: 22
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    hmm, tak vlastně stačí

    vim -c ":g/^\D/-1 norm gJ" -c ":wq" soubor.txt

    Funguje to, ale moc elegantní mi to teda nepřijde...
    23.12.2017 12:29 NN
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    cat in.txt | tr '\n' ' ' | grep -oP '\d+[ a-z]+' | sed 's/ $//'
    
    Az na ty mezery na konci..
    23.12.2017 12:47 toto awk
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    "Az na ty mezery na konci.. "

    tak ich este odstran
    23.12.2017 12:50 aaaa
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    Nefunguje, vstup
    1 2 3
    nec
    prase
    3 a
    fuj
    4 b

    vrati
    1
    2
    3 nec prase
    3 a fuj
    4 b

    Co nesplna zadanie na spajanie riadkov.
    23.12.2017 12:40 toto awk
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    cat subor.txt | awk '{ stav=0;if (match($1,/^[0-9]+$/)) {if(slov==0){printf $0 }else{printf "\n" $0} } else {printf " "$1};slov++} END {printf "\n"}'
    23.12.2017 12:44 toto awk
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    alebo: cat s | awk '{ if (match($1,/^[0-9]+$/)) {if(slov==0){printf $0 }else{printf "\n" $0} } else {printf " "$1};slov++} END {printf "\n"}'
    23.12.2017 13:10 aaaa
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    Alebo intuitivne cat s | awk 'BEGIN{ORS=""}/^[0-9]/{print have (NR>1?"\n":""); have = $0}/^[^0-9]/{have = have " " $0}END{print have "\n"}'
    23.12.2017 13:10 aaaa
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    Alebo intuitivne
    cat s | awk 'BEGIN{ORS=""}/^[0-9]/{print have (NR>1?"\n":""); have = $0}/^[^0-9]/{have = have " " $0}END{print have "\n"}'
    23.12.2017 14:09 awk
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    Pri vstupe:

    gdsdfs sfd 5 sfda

    skonci chybou. Musis ist cez pomocnu premennu.
    23.12.2017 16:17 aaaa
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    Mne to da rovnaky vystup ako tvoj program. Mozes postnut vystup a porovnat to?
    26.12.2017 10:58 awk
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    sorry, ignoruj tento koment
    28.12.2017 18:04 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků

    Technická poznámka: Na ABCLinuxu není žádné ocenění za UUOC, proto nemá smysl o něj tolik usilovat. :-)

    Řešení 1× (hajoucha (tazatel))
    wamba avatar 23.12.2017 12:45 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    Pomocí regexp:
    …|perl -00 -pe 's/ \n (?! \d ) / /xg'
    
    nahradí všechny nové řádky, které nejsou před číslem, za mezeru
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    23.12.2017 12:49 toto awk
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    nieco@nieco:/tmp$ cat text.txt|perl -00 -pe 's/ \n (?! \d ) / /xg'
    1 nec prase
    3 a fuj
    4 b nieco@nieco:/tmp$ 
    
    23.12.2017 13:03 hajoucha | skóre: 22
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    tohle vypadá dobře! Díky
    23.12.2017 13:56 awk
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    Praveze tam vsetko dobre neni. Vid posledny riadok.
    23.12.2017 14:10 awk
    Rozbalit Rozbalit vše Re: jak na spojení (některých) řádků
    Privada medzeru naviac.

    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.