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 20:11 | Komunita

    V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | Nová verze

    Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.

    Ladislav Hagara | Komentářů: 0
    dnes 12:55 | Pozvánky

    Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.

    Ladislav Hagara | Komentářů: 0
    dnes 05:33 | IT novinky

    Samsung představil headset Galaxy XR se 4K Micro-OLED displeji, procesorem Snapdragon XR2+ Gen 2, 16 GB RAM, 256 GB úložištěm, operačním systémem Android XR a Gemini AI.

    Ladislav Hagara | Komentářů: 2
    dnes 05:22 | Nová verze

    Před konferencí Next.js Conf 2025 bylo oznámeno vydání nové verze 16 open source frameworku Next.js (Wikipedie) pro psaní webových aplikací v Reactu. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 23:33 | Komunita

    Sovereign Tech Fund oznámil finanční podporu následujících open source projektů: Scala, SDCC, Let's Encrypt, Servo, chatmail, Drupal, Fedify, openprinting, PHP, Apache Arrow, OpenSSL, R Project, Open Web Docs, conda, systemd a phpseclib.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Nová verze

    Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.

    Ladislav Hagara | Komentářů: 0
    včera 05:44 | Nová verze Ladislav Hagara | Komentářů: 2
    včera 05:22 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.

    Ladislav Hagara | Komentářů: 5
    21.10. 23:15 | Nová verze

    AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.

    Max | Komentářů: 3
    Jaké řešení používáte k vývoji / práci?
     (36%)
     (48%)
     (20%)
     (20%)
     (23%)
     (18%)
     (21%)
     (18%)
     (18%)
    Celkem 260 hlasů
     Komentářů: 14, poslední 14.10. 09:04
    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: 418×
    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.