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 15:11 | IT novinky

    Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.

    Ladislav Hagara | Komentářů: 0
    dnes 13:00 | Nasazení Linuxu

    Cathode Ray Dude v novém videu ukazuje autorádio Empeg Car (později Rio Car) z let 1999–2001. Šlo o jeden z prvních přehrávačů MP3 do auta. Běží na něm Linux. Vyrobeno bylo jen asi pět tisíc kusů, ale zůstala kolem nich živá komunita, viz např. web riocar.org.

    Fluttershy, yay! | Komentářů: 0
    dnes 02:11 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.7.

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

    Wayland byl vydán ve verzi 1.24.0. Jde o menší vydání po více než roce. Více funkcionality bývá přidáváno v průběžných vydáních Wayland Protocols.

    Fluttershy, yay! | Komentářů: 0
    včera 23:44 | Nová verze

    Textový editor Geany byl vydán ve verzi 2.1. Jde o udržovací vydání po bezmála dvou letech. Obsahuje drobná vylepšení vyhledávání, aktualizace podpory zvýrazňování syntaxe a dále převážně opravy chyb.

    Fluttershy, yay! | Komentářů: 1
    včera 19:44 | Komunita

    Byly zveřejněny videozáznamy, dostupné také s prezentacemi přímo z programu, a také fotogalerie z open source komunitní konference DevConf.CZ 2025 konané od 12. do 14. června v Brně.

    Ladislav Hagara | Komentářů: 0
    5.7. 20:22 | Zajímavý software

    Navigace se soukromím CoMaps postavena nad OpenStreetMap je nově k dispozici v Google Play, App Store i F-Droid. Jedná se o komunitní fork aplikace Organic Maps.

    Ladislav Hagara | Komentářů: 7
    4.7. 19:33 | Nová verze

    Vývojáři OpenMW (Wikipedie) oznámili vydání verze 0.49.0 této svobodné implementace enginu pro hru The Elder Scrolls III: Morrowind. Přehled novinek i s náhledy obrazovek v oznámení o vydání.

    Ladislav Hagara | Komentářů: 1
    4.7. 15:22 | IT novinky

    Masivní výpadek elektrického proudu zasáhl velkou část České republiky. Hasiči vyjížděli k většímu počtu lidí uvězněných ve výtazích. Výpadek se týkal zejména severozápadu republiky, dotkl se také Prahy, Středočeského nebo Královéhradeckého kraje. Ochromen byl provoz pražské MHD, linky metra se už podařilo obnovit. Výpadek proudu postihl osm rozvoden přenosové soustavy, pět z nich je nyní opět v provozu. Příčina problémů je však stále neznámá. Po 16. hodině zasedne Ústřední krizový štáb.

    Ladislav Hagara | Komentářů: 95
    Jaký je váš oblíbený skriptovací jazyk?
     (60%)
     (27%)
     (7%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 365 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: copying multiple files

    19.6.2007 21:01 RedBoy
    copying multiple files
    Přečteno: 221×
    chtěl jsem provést dotaz
    cp soubor home/*/
    
    a napsalo

    cp: copying multiple files, but last argument `zlobi.php' is not a directory

    Odpovědi

    19.6.2007 21:07 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: copying multiple files
    cp je kopírování souborů, nevím tedy jaký dotaz. Pokud zadáte příkazu cp 2 parametry, zkopíruje se první soubor/adresář do druhého. Pokud je parametrů více než dva (n), musí být poslední adresář – pak se všechny soubory/adresáře z parametrů 1n-1 nakopírují do adresáře n (poslední parametr). Pokud chcete jedet soubor rozkopírovat na více míst, použijte např. cyklus for nebo příkaz find. Příkaz cp soubor home/*/ rozvine automaticky shell, tj. místo hvězdičky dosadí jména souborů/podadresářů, tzn. pokud jsou v adresáři home např. adresáře user1, user2 a user3, zavolá shell ve skutečnosti příkaz cp soubor home/user1/ home/user2/ home/user3/ – váš příkaz tedy měl nejspíš víc parametrů, než 2 (alespoň ta hláška tomu napovídá).
    19.6.2007 21:36 RedBoy
    Rozbalit Rozbalit vše Re: copying multiple files
    potrebuji jeden soubor nakopirovat do vice adresaru
    19.6.2007 22:28 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: copying multiple files
    Tak to asi bude potřeba nějak naskriptovat. Nejlepší je to takhle
    #!/usr/bin/python
    import glob, shutil
    for dest in glob.glob('/home/*'):
        shutil.copy('soubor', dest)
    
    ale fungovat bude i tohle
     for i in /home/*; do cp soubor $i; done
    
    nebo třeba find ... exec nebo prostě jak chceš.
    19.6.2007 23:05 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: copying multiple files
    Aha, teď vidím, že máš asi v /home i něco jiného než pouze domovské adresáře uživatelů. Tak bude potřeba být trochu obezřetnější:
    #!/usr/bin/python
    import shutil, os, pwd
    for pwitem in pwd.getpwall():
        homedir = pwitem.pw_dir
        if homedir.startswith('/home/'):
            shutil.copy('soubor', homedir)
    
    tohle nakopíruje 'soubor' všem uživatelům do jejich adresářů, pokud mají domovský adresář v /home.
    20.6.2007 09:22 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: copying multiple files
    Obezřetnější v nezapomenutí lomítka:
    for i in /home/*/; do cp soubor $i; done
    Python :-O, omg...
    20.6.2007 09:50 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: copying multiple files
    Sázel jsem se sám se sebou, kdopak mi asi opraví ty uvozovky v shellu a zkritizuje Python, aniž by to sám napsal líp. No a je to tady. Až na to, že vám vadí lomítko, které tam být nemusí - příkaz cp ví, co má dělat.
    20.6.2007 10:31 zhmulik
    Rozbalit Rozbalit vše Re: copying multiple files
    no ono radit python nekomu, kdo neni schopen se podivat ani na man cp, je asi trochu zbytecne bez ohledu na to, zda to je nebo neni kanon na vrabce (osobne si myslim ze je). ale to je asi reakce na takovyto "dotaz" tak jako tak...
    20.6.2007 12:17 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: copying multiple files

    Promiňte, ale bohužel máte malé znalosti shellu a příliž velké ego.

    1) žádné uvozovky jsem vám neopravoval. Nechápu.
    2) na pythonem jsem se pousmál (to je věc vkusu), a napsal jsem to "líp v shellu"

    Mezi příkazy:

    for i in /home/*; do cp soubor $i; done
    a
    for i in /home/*/; do cp soubor $i; done

    je -- v tomto případě dost -- podstatný rozdíl, pokud jej neznáte, váš problém. cp neví co má správně dělat, poud mu to neřeknete správně.

    Můžete si to vyzkoušet např. takto: mkdir home; cd home; mkdir jan martinek; touch lama; touch soubor.txt; cd ..; for i in home/*; do echo cp soubor.txt $i; done; for i in home/*/; do cp echo soubor.txt $i; done

    Nikdo přece nechce soubor.txt kopírovat krom adresářů uživatelů i sám do sebe, případně zabít lamu. Co na to ochránci zvířat...

    20.6.2007 12:48 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: copying multiple files
    V posledním příkazu prohozeno echo a cp.
    20.6.2007 12:52 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: copying multiple files
    Btw. to vaše "zbytečné lomítko" by se vám bývalo bylo hodilo i v tom pythonu, ušetřilo by vám práci ;)
    20.6.2007 13:55 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: copying multiple files
    Měl jsem na mysli uvozovky kolem $i, aby se skript nezmátl, kdyby někdo nakopíroval ho /home něco (třeba adresář) s mezerou v názvu.
    Jinak máte samozřejmě ve všem pravdu, jen jsem zkrátka myslel, že tím lomítkem sledujete něco jiného. To je fuk, zapomeňte.
    Ale i kdybychom to dali dohromady a do skriptu napsali lomítko i uvozovky, ten skript v pythonu (z 23:05) bude fungovat správně ve více situacích a odliší například "/home/ash/" od "/home/not a user/".
    20.6.2007 15:14 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: copying multiple files

    Odpuštěno ;) Jen by mě zajímalo, jaký kurs jste vypsal sám na sebe, když jste se sázel o ty uvozovky.

    V shellu bych tu extended verzi napsal zhruba takto:

    cut -d: -f6 /etc/passwd | grep ^/home/ | while read home; do cp soubor.txt $home; 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.