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 00:33 | IT novinky

Josef Průša představil na Maker Faire v New Yorku svou novou 3D tiskárnu Original Prusa i3 MK3. Z novinek (YouTube) lze zdůraznit senzor filamentu, výměnnou magnetickou podložku, rychlejší tisk nebo rozpoznání uskočené vrstvy, výpadku napájení a výpadku filamentu (YouTube).

Ladislav Hagara | Komentářů: 1
včera 17:22 | Komunita

Martin Flöser představil na svém blogu projekt XFree KWin. Cílem projektu je rozběhnout správce oken KWin na Waylandu bez XWaylandu [reddit].

Ladislav Hagara | Komentářů: 2
včera 16:55 | Komunita

Do pátku 29. září probíhá v Praze v hotelu Hilton konference SUSECON 2017 pořádaná společností SUSE. Dění na konferenci lze sledovat na Twitteru. Nils Brauckmann, CEO společnosti SUSE, vítá účastníky konference na YouTube.

Ladislav Hagara | Komentářů: 0
včera 07:00 | Komunita

Příspěvek na blogu společnosti Yubico informuje o začlenění podpory bezpečnostních klíčů FIDO U2F do Firefoxu Nightly. Dosud bylo možné dvoufázové ověření pomocí FIDO U2F ve Firefoxu zajistit pouze pomocí doplňku.

Ladislav Hagara | Komentářů: 3
včera 06:00 | Humor

Adobe PSIRT (Adobe Product Security Incident Response Team) neúmyslně zveřejnil (archive) na svém blogu svůj soukromý OpenPGP klíč. Klíč byl revokován a vygenerován nový. Nelze nezmínit xkcd 1553 - Veřejný klíč.

Ladislav Hagara | Komentářů: 1
24.9. 20:00 | Nová verze

Byla vydána (cgit) verze 0.99 svobodného nelineárního video editoru Pitivi. Jedná se o release candidate verze 1.0. Přehled úkolů, které je nutno ještě dodělat, na Phabricatoru. Pitivi je k dispozici také ve formátu Flatpak.

Ladislav Hagara | Komentářů: 0
24.9. 17:11 | Komunita

Microsoft s Canonicalem představili linuxové jádro Ubuntu optimalizováno pro cloudové služby Microsoft Azure (linux-azure). Jako výchozí je toto menší a výkonnější jádro použito již v Ubuntu Cloud Images for Ubuntu 16.04 LTS. Canonical zatím nenabízí patchování tohoto jádra za běhu systému (Canonical Livepatch Service).

Ladislav Hagara | Komentářů: 1
24.9. 14:55 | Komunita

Facebook oznámil, že přelicencuje open source projekty React, Jest, Flow a Immutable.js ze své vlastní kontroverzní licence BSD+Patents na licenci MIT. Stane se tak tento týden s vydáním Reactu 16. Jedním z důvodů přelicencování bylo oznámení nadace Apache, že software pod Facebook BSD+Patents licencí nesmí být součástí produktů pod touto nadací [Hacker News].

Ladislav Hagara | Komentářů: 0
23.9. 21:44 | Nová verze

Po půl roce od vydání verze 9.0 byla vydána verze 10.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 0
22.9. 18:11 | Nová verze

Společnost Oracle oficiálně oznámila vydání Java SE 9 (JDK 9), Java Platform Enterprise Edition 8 (Java EE 8) a Java EE 8 Software Development Kit (SDK). Java SE 9 přináší více než 150 nových vlastností.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (5%)
 (3%)
 (17%)
 (75%)
Celkem 574 hlasů
 Komentářů: 23, poslední 24.9. 18:12
    Rozcestník

    Dotaz: Jak smazat nadbytečné mezery

    23.10.2012 13:01 Marky
    Jak smazat nadbytečné mezery
    Přečteno: 718×
    Ahoj, nedaří se mi odstranit nadbytečné mezery v proměné
    tohle funguje super
    cat input.txt | sed 's/[ \t]*$//' > output.txt
    
    ale tohle ne
    "$HEADING" | sed -e 's/^[ \t]*//' > "$HEADING"
    poradí mi někdo jiný způsob? Děkuji

    Řešení dotazu:


    Odpovědi

    23.10.2012 13:19 Kit
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    A k čemu tam máš ten cat? A co vlastně máš v proměnné $HEADING?
    sed -e 's/^[ \t]*//' <"$HEADING" >output.txt
    23.10.2012 14:49 Marky
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    A k čemu tam máš ten cat? A co vlastně máš v proměnné $HEADING? V proměnné HEADING je pouze čistý text, nic jiného tam neni + samozřejmě nadbytečné mezery... ;)
    sed -e 's/^[ \t]*//' <"$HEADING" >output.txt
    potřebuji to upravit v té proměnné, ne to posílat do souboru, jde to? Ten cat je asi uklep.
    23.10.2012 13:32 mike
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    HEADING=$(echo $HEADING | sed -e 's/../../')
    23.10.2012 13:40 Kit
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    Nic proti tvému příspěvku, ale stejně by mě zajímalo, kdy uživatelé Bashe konečně přestanou cpát data aplikací do proměnných.
    23.10.2012 14:04 mike
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    Mam promennou HEADING ktera odkazuje na nejaky retezec, v tomto retezci chci odstranit vsechny mezery. O jakych datech aplikace tu mluvime?
    23.10.2012 14:12 Kit
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    Jak už jsem psal, to nebylo míněno na tebe. My vůbec netušíme, co se nachází v proměnné $HEADING. Obávám se, že "cat input.txt" nebo jiná hloupost.
    23.10.2012 14:50 Marky
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    HEADING=$(echo $HEADING | sed -e 's/../../')
    Tento kód žádné mezery neodstraní...
    23.10.2012 15:11 mike
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    A co tento kod? :)
    remove_spaces='sudo rm -rf /'; HEADING=$($remove_spaces)
    
    23.10.2012 15:13 Kit
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    Ten určitě ne. Vyžaduje rootovské heslo a to by zdržovalo zpracování :-)
    23.10.2012 14:44 Marky
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    V proměnné HEADING je pouze čistý text, nic jiného tam neni..
    23.10.2012 14:54 Kit
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    V tom případě byl asi nejblíž mike. Trochu bych to jen upravil:
    HEADING=$(echo "$HEADING" | sed -e 's/^[ \t]*//')
    ale dá se to i zkrátit a zjednodušit:
    HEADING="${HEADING// /}"
    23.10.2012 15:05 Kit
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    resp. takto:
    HEADING="${HEADING//[	 ]/}"
    Uvnitř hranatých závorek je jeden tabulátor a jedna mezera.
    23.10.2012 15:26 Marky
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    Hm, to funguje ale zase to odstraní všechny mezery, ne jen ty nadbyteční :-( Zeptám se tedy jinak, vidím že to takto jednoduše nejde. Jak můžu odstranit mezery v řetězci před prvním znakem a za posledním znakem? Díky
    23.10.2012 16:10 Kit
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    Jo tys chtěl odstranit jen ty okrajové? Myslel jsem, že všechny. V tom případě to asi bez toho sedu nepůjde.
    HEADING=$(echo "$HEADING" | sed 's/^[ 	]*//;s/[ 	]*$//')
    23.10.2012 17:04 Marky
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    Ne jen ty okrajové, jak jsem již psal v dotazu, všechny nadbytečné, čili zepředu, zezadu, mezi slovama když jsou třeba 2 mezery atd..
    23.10.2012 17:51 Kit
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    To je dobrá sranda. No nevím, třeba mě za to nějaký sedař zpucuje, ale líp to asi neumím:
    HEADING=$(echo "$HEADING" | sed 's/[ 	]\+/ /g;s/^ //;s/ $//')
    K čemu to tak precizně potřebuješ? Běžně to programům nevadí.
    Řešení 1× (Goheeca)
    26.10.2012 02:50 Dedek
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    No já nevím, ale je to vůbec potřeba hnát přes nějaký extra kód? Nestačí to prostě jen takto?
    HEADING="         dffdsf  ds  sfdf    sdf            sdf  sdf sdf sf                reree  we wr wr                         "
    HEADING=$(echo $HEADING)
    echo "$HEADING" // dffdsf ds sfdf sdf sdf sdf sdf sf reree we wr wr
    26.10.2012 09:07 okko
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    to je fakt dobré, funguje to i na tabelátory. To si budu muset někam poznamenat.
    23.10.2012 21:51 Semo | skóre: 44 | blog: Semo
    Rozbalit Rozbalit vše Re: Jak smazat nadbytečné mezery
    Len v cistom bashi a bez podprocesov:
    $ shopt -s extglob
    $ a="1    2 3 "
    $ a="${a//+( )/ }"
    $ a="${a# }"
    $ a="${a% }"
    $ echo "=$a="
    =1 2 3=
    Ked to chces aj s odstranovanim tabelatorov, tak 3. riadok nahradit:
    a="${a//+([$IFS])/ }"
    A komu sa nepaci trik s IFS, tak ho nahradit
    spacetab=\ $'\t'
    a="${a//+([$spacetab])/ }"
    If you hold a Unix shell up to your ear, you can you hear the C.

    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.