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:44 | Nová verze

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 2
    včera 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 4
    včera 12:33 | Zajímavý projekt

    Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.

    |🇵🇸 | Komentářů: 4
    včera 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    16.8. 18:55 | Komunita

    Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 1
    16.8. 04:22 | Komunita

    Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).

    Ladislav Hagara | Komentářů: 0
    16.8. 01:22 | Nová verze

    Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové major verzi 4.0.0 - The Quattro Release. Videopředstavení na YouTube. Celý desktop shell byl přepsán do Quickshellu. Přidána byla podpora pluginů.

    Ladislav Hagara | Komentářů: 1
    15.8. 13:33 | IT novinky

    Francouzská Ústavní rada zamítla zákaz používání sociálních sítí dětem mladším 15 let. Francouzská obdoba ústavního soudu uvedla, že opatření představuje nepřiměřený zásah do svobody projevu. Francouzský parlament zákaz schválil na konci července, začít platit měl od září. Šlo o první zákaz sociálních sítí pro děti v Evropě. Členové Ústavní rady se domnívají, že ustanovení „představuje zásah, který není přiměřený, nezbytný ani

    … více »
    Ladislav Hagara | Komentářů: 1
    14.8. 16:33 | Zajímavý projekt

    Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).

    |🇵🇸 | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2412 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník


    Dotaz: nahrazení začínajících mezer značkami nbsp

    19.12.2014 13:02 RM
    nahrazení začínajících mezer značkami nbsp
    Přečteno: 1145×
    Nějaký nápad jak nahradit mezery v textu na začátku, třeba značkami (&)nbsp, za pomocí sedu?? Já zatím vymyslel tohle:

    echho " Dobrý den, " | sed 's/^/ł/ ;:a;s/ł /łł/;ta;s/ł/\(&)nbsp;/g'

    (&)=&
    , kde si musím pomoct znakem, který se v textu s největší pravděpodobností nebude vyskytovat. Možná to ale jde i nějak méně krkolomně.

    Odpovědi

    19.12.2014 13:24 blondak | skóre: 36 | blog: Blondak | Čáslav
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    Třeba
    echo "  Dobrý den, " | sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1\ /;ta'
    
    ?
    Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
    19.12.2014 14:05 RM
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    pěknýýý, to je přesně ono. A nebylo by k tomu ještě krátké vysvětleníčko toho reg. výrazu.
    19.12.2014 14:09 RM
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    jen pozor na tu mezeru na konci, s tou se to zacyklí
    19.12.2014 14:25 RM
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    ach so, ono se to tam vkládá od poslední mezery. Takhle je to už jasné:

    echo "  Dobrý den, " | sed ':a;s/^\([[:space:]]*\)[[:space:]]/\1\./;l;ta'
    


    díky
    20.12.2014 18:03 RM
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    ani by mne nenapadlo, že to využiju ještě i k odbešení skriptu, kde potřebuju odseknout nuly na začátku (z 00030 dostat 30); už několikrát jsem nad tím dumal. Bash na to má tohle ${num##+(0)}, ale musí se nastavit shopt -s extglob, je to je hnus. Takhle je to lepčí:

    echo 0030 | sed ':a;s/^\(0*\)0/\1/;ta'
    dvojitá radost :), ať žije sed
    22.12.2014 08:47 pet
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    Hmmm, a co je špatně na:
    echo 0030 | sed 's/^0*//'
    22.12.2014 18:06 RM
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    jasný... byl jsem až příliš unešen tím kouzlem (:a ta) a navíc jsem měl na paměti nefunkční obdobu bashovské substituce (tam to takhle nejde), to byl asi hlavní důvod, proč jsem hned skočil po kanónu; třeba vás napadne ještě nějaké jednodušší řešení i pro první případ?
    29.12.2014 10:35 pet
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    Úvodní nuly v bash:
    $ a=0030
    $ echo $((10#$a))
    30
    $
    A to nahrazování úvodních mezer moc elegantně nejde právě proto, že je to nahrazování.
    29.12.2014 11:34 RM
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    zajímavé, tohle jsem v bashi neznal
    14.1.2015 02:33 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: nahrazení začínajících mezer značkami nbsp
    A kdyby bylo zakázáno spouštět jakékoliv další procesy kromě Bashe, pak by se to dalo zařídit třeba takhle:
    while IFS='' read line; do index=0; while [[ ' ' = "${line:index:1}" ]]; do ((++index)); echo -n ' '; done; echo ${line:index}; done
    
    Ale nemusí to být za každou cenu one-liner. :-D
    while IFS='' read line; do
        index=0
        while [[ ' ' = "${line:index:1}" ]]; do
            ((++index))
            echo -n ' '
        done
        echo ${line:index}
    done
    

    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.