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 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 2
    dnes 14:22 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    včera 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 2
    včera 14:22 | Zajímavý software

    Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.

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

    První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní

    … více »
    Ladislav Hagara | Komentářů: 0
    14.7. 19:33 | Nová verze

    3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:55 | Zajímavý software

    SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.

    Ladislav Hagara | Komentářů: 0
    14.7. 12:44 | Nová verze

    Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2136 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: bash - expanze s mezerami

    4.11.2013 19:33 mikky | skóre: 25 | blog: Ghlog | M. L. - Praha
    bash - expanze s mezerami
    Přečteno: 394×
    ahoj, potřebuju nakopnout s expanzí * v bashi se zachováním správného počtu parametrů (v názvech souborů jsou mezery):
    for i in *html; do 
    	a=${i%.html}; 
    	mkdir "$a"; 
    	mv $a* "$a"; #tady je problém
    done
    
    v $a může být řetězec třeba "technická specifikace A7Z46" a v aktuálním adreáři je několik souborů s tímhle názvem a různými příponami (obrázky, schemata, dokumenty, etc.). Potřebuju je všechny přesunout do podadresáře s příslušným jménem. Bash provede u mv expanzi, ale už z toho neudělá uzavřené parametry (neudělá si okolo toho "uvozovky"), takže mv to dostane rozporcovaný po mezerách a ne po ucelených názvech.

    Vím že by to šlo udělat spoustou metod (xarxgs, znovuvnoření cyklu for jako na začátku, skrz hashe, nebo něco na ten způsob), ale mě zajímá, jestli se dá bash donutit, aby to po expanzi i správně tokenizoval, resp. udělat řešení, se kterým by si bez externích utilit (xargs) poradil i obyčejný sh (vylučuje např. ty hashe).

    dík za tipy,

    -m.
    Je vám méně než 30 ? (jsme vrstevnící => budeme si tykat) : (jsem pro vás bažant => můžete mi tykat);

    Odpovědi

    4.11.2013 20:49 potato
    Rozbalit Rozbalit vše Re: bash - expanze s mezerami
    Základní problém příkazu
    mv $a* "$a"
    nejsou ani mezery, ale to, že se snaží přesunout $a sám do sebe, což nejde. Pokud ty věci k přesunutí mají vždy nějaké přípony, tak například
    mv "$a".* "$a"
    4.11.2013 20:58 mikky | skóre: 25 | blog: Ghlog | M. L. - Praha
    Rozbalit Rozbalit vše Re: bash - expanze s mezerami
    máš pravdu, ale nevíš o tom :)

    uvozovky okolo proměnný s hvězdičkou za mě asi jako jediná kombinace nenapadla a kupodivu funguje, nicméně příčina nefunkčnosti předchozího není ta, která píšeš - přesun do sebe sama je úplně jinej problém, kterej tady vůbec neřešim a kterej pro mě žádnej problém (krom chybový hlášky o tom, že to nejde) v běhu skriptu nezpůsobuje. Problém skutečně je ten, který jsem popisoval - expanze se provede bez ohledu na tokenizaci, resp. tokenizuje se po mezerách a neřeší se, kde se tam vzaly - ty uvozovky to vyřeší tak, že znaky z $IFS se v uvozovkách ignorují.

    no nic, jdu chvíli mlátit hlavou do zdi..

    každopádně dík, pomohls!

    Je vám méně než 30 ? (jsme vrstevnící => budeme si tykat) : (jsem pro vás bažant => můžete mi tykat);
    4.11.2013 21:32 potato
    Rozbalit Rozbalit vše Re: bash - expanze s mezerami
    kterej pro mě žádnej problém (krom chybový hlášky o tom, že to nejde) v běhu skriptu nezpůsobuje
    Co na to říci. Snad jen, že přeji spoustu zábavy se skripty, které se ‚najednou začaly chovat divně‘...

    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.