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:11 | IT novinky

    Ministerstvo průmyslu a obchodu (MPO) vyjádřilo podporu předložení projektu AI Gigafactory CZ, který do veřejné konzultace Evropské komise zaslala společnost České Radiokomunikace (CRA) v rámci iniciativy Project AIGF CZ. Jde o významný krok k rozvoji výpočetní infrastruktury pro umělou inteligenci (AI), která je prioritou resortu. Projekt je v souladu s cíli Národní strategie umělé inteligence ČR 2030 a je již součástí návrhu

    … více »
    Ladislav Hagara | Komentářů: 3
    dnes 13:11 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 154 (pdf). S podtitulem Automatizace domácnosti.

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

    Americký prezident Donald Trump podepsal exekutivní příkaz, který prodlužuje lhůtu pro prodej amerických aktiv aplikace TikTok vlastněné čínskou společností ByteDance do amerických rukou o dalších 90 dnů. Americký Kongres loni v dubnu kvůli bezpečnostním obavám přijal zákon, podle kterého měl vstoupit v platnost zákaz sítě TikTok v USA v případě, že se prodej neuskuteční do 19. ledna. Trump však v lednu lhůtu pro prodej prodloužil o 75 dnů. V dubnu pak přikročil k prodloužení o dalších 75 dnů, lhůta tak měla vypršet dnešním dnem.

    Ladislav Hagara | Komentářů: 1
    dnes 12:11 | IT novinky

    Microsoft hodlá zrušit další tisíce pracovních míst, a to především v obchodních odděleních. Předchozí kolo propouštění se uskutečnilo v květnu a dotklo se 6000 zaměstnanců. Vedení firmy již dříve upozornilo, že vzhledem k rozsáhlým investicím do umělé inteligence (AI) se bude snažit omezovat výdaje v jiných oblastech.

    Ladislav Hagara | Komentářů: 4
    včera 18:44 | IT novinky

    Společnost Murena ve spolupráci se společností Qwant představila vyhledávač Murena Find. Ve výchozím nastavení bude používán v mobilním operačním systému /e/OS a v Murena Workspace.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | IT novinky

    V mobilní aplikaci Facebooku se lze nově přihlašovat pomocí Passkeys.

    Ladislav Hagara | Komentářů: 3
    včera 12:44 | IT novinky

    Společnost Midjourney představila vlastní generátor videí pomocí umělé inteligence (AI) V1 Video Model.

    Ladislav Hagara | Komentářů: 0
    18.6. 23:22 | Nová verze

    Editor kódu Zed (Wikipedie) má nově v sobě integrovaný debugger. Podporuje Rust, C/C++, JavaScript, Go, Python a pomocí rozšíření i další programovací jazyky.

    Ladislav Hagara | Komentářů: 7
    18.6. 22:22 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované GIFy.

    Ladislav Hagara | Komentářů: 1
    18.6. 21:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.18 a Xwayland 24.1.8 řeší další bezpečnostní chybu.

    Ladislav Hagara | Komentářů: 0
    Jaký je váš oblíbený skriptovací jazyk?
     (57%)
     (30%)
     (7%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 286 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    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: 411×
    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.