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í
×
    včera 19:55 | IT novinky

    Americký výrobce čipů Intel propustí 15 procent zaměstnanců (en), do konce roku by jich v podniku mělo pracovat zhruba 75.000. Firma se potýká s výrobními problémy a opouští také miliardový plán na výstavbu továrny v Německu a Polsku.

    Ladislav Hagara | Komentářů: 8
    včera 17:33 | Komunita

    MDN (Wikipedie), dnes MDN Web Docs, původně Mozilla Developer Network, slaví 20 let. V říjnu 2004 byl ukončen provoz serveru Netscape DevEdge, který byl hlavním zdrojem dokumentace k webovým prohlížečům Netscape a k webovým technologiím obecně. Mozille se po jednáních s AOL povedlo dokumenty z Netscape DevEdge zachránit a 23. července 2005 byl spuštěn MDC (Mozilla Developer Center). Ten byl v roce 2010 přejmenován na MDN.

    Ladislav Hagara | Komentářů: 0
    včera 14:55 | Nová verze

    Wayback byl vydán ve verzi 0.1. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

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

    Byla vydána nová verze 6.18 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově se lze k síti Tor připojit pomocí mostu WebTunnel. Tor Browser byl povýšen na verzi 14.5.5. Thunderbird na verzi 128.12.0. Další změny v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:33 | IT novinky

    Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.

    Ladislav Hagara | Komentářů: 0
    24.7. 14:22 | Nová verze

    Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    24.7. 13:33 | IT novinky

    Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.

    Ladislav Hagara | Komentářů: 2
    24.7. 06:00 | IT novinky

    T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.

    Ladislav Hagara | Komentářů: 9
    23.7. 21:55 | Komunita

    Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).

    Ladislav Hagara | Komentářů: 2
    23.7. 21:22 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.65 svobodného multiplatformního webového serveru Apache (httpd). Řešena je bezpečnostní chyba CVE-2025-54090.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (29%)
     (26%)
     (5%)
     (5%)
     (5%)
     (2%)
     (2%)
     (27%)
    Celkem 132 hlasů
     Komentářů: 16, poslední včera 15:31
    Rozcestník

    Dotaz: Jak smazat nadbytečné mezery

    23.10.2012 13:01 Marky
    Jak smazat nadbytečné mezery
    Přečteno: 872×
    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: 45 | 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.