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 02:00 | Pozvánky

Konference OpenAlt 2018 (dříve LinuxAlt a Openmobility) proběhne již o víkendu 3. a 4. listopadu na FIT VUT v Brně. Motto konference je "Otevřeným přístupem k otevřené společnosti". Připraveno je 8 tracků přednášek a workshopů. Pořadatelé připravili výběr toho nejzajímavějšího.

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

Bylo vydáno RFC 8484 řešící posílání DNS dotazů a získávání DNS odpovědí přes protokol HTTPS (DoH, DNS over HTTPS). V aktuálních verzích Firefoxu je DoH ve výchozím nastavení zakázáno. Povolit jej lze v about:config změnou hodnoty network.trr.mode (Trusted Recursive Resolver). V srpnu zveřejnila Mozilla výsledky experimentu s DNS přes HTTPS ve Firefoxu Nightly.

Ladislav Hagara | Komentářů: 27
19.10. 13:00 | Komunita

Při prvním spuštění Ubuntu 18.04 LTS (Bionic Beaver) je spuštěn nástroj Ubuntu Report. Pokud uživatel souhlasí, jsou pomocí tohoto nástroje odeslány do Canonicalu informace o daném počítači (doba instalace, počet procesorů, rozlišení displeje, velikost paměti, časová zóna, ...). V červnu byly zveřejněny první statistiky. Podrobnější statistiky jsou nově k dispozici na samostatné stránce.

Ladislav Hagara | Komentářů: 12
19.10. 01:00 | Pozvánky

O víkendu probíhá v Košicích pravidelné setkání příznivců otevřených technologií OSS Víkend. Na programu je řada zajímavých přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
19.10. 00:11 | Nová verze

Byla vydána nová verze 1.3 otevřeného, licenčními poplatky nezatíženého, univerzálního ztrátového formátu komprese zvuku Opus (Wikipedie) a jeho referenční implementace libopus. Vylepšena byla například detekce, zda se jedná o řeč nebo o hudbu. Přidána byla podpora prostorového zvuku (immersive audio) dle plánovaného RFC 8486. Podrobnosti a zvukové ukázky na demo stránce.

Ladislav Hagara | Komentářů: 0
18.10. 22:33 | Nová verze

Bylo vydáno Ubuntu 18.10 s kódovým názvem Cosmic Cuttlefish (Kosmická sépie). Ke stažení jsou Ubuntu Desktop a Server, Ubuntu Cloud Images, Ubuntu Netboot, Kubuntu, Lubuntu a Lubuntu Alternate, Ubuntu Budgie, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio a Xubuntu. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 3
18.10. 18:33 | Nová verze

Byl vydán PostgreSQL ve verzi 11.0. Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
18.10. 17:33 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi TV HAT, tj. rozšíření jednodeskového počítače Raspberry Pi umožňující příjem televizního vysílání DVB-T a DVB-T2. Cena rozšíření je 21,50 $.

Ladislav Hagara | Komentářů: 9
18.10. 17:07 | Nová verze

Vychází OpenBSD 6.4. Z řady novinek namátkou: podpora dalších architektur (arm64 např. dostal z Linuxu vypůjčený ovladač radeondrm), hypervizor vmm podporuje i qcow2 disky a šablony, jádro dokáže automaticky přepínat mezi dostupnými bezdrátovými sítěmi, sítě pracují o něco efektivněji, z bezpečnosti „přísaha byla doplněna odhalením“ (pledge(2) lze vhodně doplnit pomocí unveil(2)), SMT je ve výchozím stavu vypnutý, ale lze jej zapnout. Syntaxe nastaveni OpenSMTPD se změnila. S vydáním vychází také nová verze LibreSSL - 2.8.2.

Daniel Čižinský | Komentářů: 5
17.10. 23:15 | IT novinky

Firma Raptor Computing Systems, která stojí také za pracovní stanicí Talos II, představila levnější desku Blackbird s podporou jednoho 4-/8jádrového CPU POWER9 Sforza a formátem microATX; bližší specifikace jsou ve wiki výrobce.

Fluttershy, yay! | Komentářů: 30
Přispíváte osobně k vývoji svobodného softwaru?
 (39%)
 (43%)
 (25%)
 (22%)
 (11%)
 (36%)
Celkem 274 hlasů
 Komentářů: 16, poslední dnes 03:42
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: 307×
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: 45 | blog: Republic of Mordor | Zürich
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.