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 17:11 | Komunita

Byly zveřejněny videozáznamy přednášek z Fedora 26 Release Party konané 10. srpna v Praze.

Ladislav Hagara | Komentářů: 0
včera 15:33 | Komunita

Přesně před čtyřiadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 3
včera 06:00 | Bezpečnostní upozornění

Ve virtualizačním softwaru Xen bylo nalezeno a opraveno 5 bezpečnostních chyb XSA-226 až XSA-230. Nejzávažnější z nich XSA-227 (CVE-2017-12137) umožňuje eskalaci privilegií a ovládnutí celého systému, tj. správce hostovaného systému se může stát správcem hostitelského systému.

Ladislav Hagara | Komentářů: 1
15.8. 22:00 | Zajímavý projekt

V roce 2013 proběhla na Kickstarteru úspěšná kampaň na podporu otevřeného Dobře temperovaného klavíru (Well-Tempered Clavier). Stejný tým s Kimiko Išizaka spustil před týdnem na Kickstarteru kampaň Libre Art of the Fugue na podporu svobodného Umění fugy.

Ladislav Hagara | Komentářů: 2
15.8. 13:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 143. brněnský sraz, který proběhne v pátek 18. srpna od 18:00 hodin ve sportovním areálu a restauraci BeachPub Sokolák u Brněnské přehrady aneb v hantecu u Prýglu.

Ladislav Hagara | Komentářů: 0
15.8. 10:55 | Nová verze

Byla vydána (pdf) verze 3 průběžně aktualizované (rolling release) linuxové distribuce Solus (Wikipedie). Ke stažení je v edicích Budgie, GNOME a MATE. Z novinek lze zmínit například podporu snapů. Solus 3 obsahuje Firefox 55.0.1, LibreOffice 5.4.0.3, Rhythmbox 3.4.1 nebo Thunderbird 52.2.1. Edice Budgie a GNOME přichází s GNOME MPV 0.12. Edice MATE s VLC 2.2.6.

Ladislav Hagara | Komentářů: 6
14.8. 21:44 | Nová verze

Po více než roce vývoje od vydání verze 1.0 Microsoft oznámil vydání verze 2.0 platformy .NET Core (GitHub). Přehled novinek v poznámkách k vydání a ve videu na Channel 9.

Ladislav Hagara | Komentářů: 0
14.8. 21:11 | Pozvánky

Před dvaceti lety, 15. srpna 1997, poslal Miguel de Icaza do diskusního listu GTK+ email, který je považován za zahájení projektu GNOME. Linux Desktop Meetup pořádá oslavu ve středu 16. srpna od 19:00 v brněnském Charlie's square.

Ladislav Hagara | Komentářů: 18
14.8. 11:55 | IT novinky
Na šampionátu The International 2017 byl představen bot, který poráží profesionální hráče počítačové hry Dota 2. Bot zatím umí jenom zápasy 1v1. Vývojáři pracují na podpoře 5v5. Jedná se o společný projekt organizace OpenAI a společnosti Valve. Více na stránkách OpenAI a na YouTube. Dle Elona Muska je elektronický sport mnohem komplexnější než šachy nebo go [Hacker News].
Ladislav Hagara | Komentářů: 14
14.8. 05:55 | Nová verze

Byla vydána verze 20.0 a krátce na to opravná verze 20.0.1 svobodného softwaru OBS Studio (Open Broadcaster Software, Wikipedie) určeného pro streamování a nahrávání obrazovky počítače. Přehled novinek i s náhledy a animovanými gify v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (17%)
 (77%)
Celkem 339 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    Rozcestník

    Dotaz: Zkopírování vybraných adresářů, včetně nadřazeného adresáře

    Beetljuice avatar 7.6.2010 10:13 Beetljuice | skóre: 25 | blog: BeetljuiceBlog | Most
    Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Přečteno: 251×
    Zdravim.Nadpis je asi trochu krkolomný.Jde mi o toto :
    Mám velký adresář s daty zákazníků a některé adresáře obsahují podadresář dokumentace.Potřebuji najít které adresáře obsahují ten podadr. "dokumentace" a zkopírovat včetně obsahu do cílového umístění.
    Zkoušel jsem to pomocí find a exec cp, ale nevím jak tam dostat ten nadřazený adresář.
    Příklad :
    výsledek hledání :
    data/a/dokumentace
    data/b/dokumentace
    data/e/dokumentace
    data/k/dokumentace
    zkopírovat do cíle:
    cíl/a/dokumentace
    cíl/b/dokumentace
    cíl/e/dokumentace
    cíl/k/dokumentace
    Možná jsem hledal špatně, ale na podobný požadavek jsem dotaz nikde nezahlédl.Díky.
    Aj dont spík ÍÍngliš :-(

    Řešení dotazu:


    Odpovědi

    Řešení 1× (Beetljuice (tazatel))
    7.6.2010 11:06 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Treba takhle? Urcite to jde i lepe. Tohle je jen rychly hack. Rozhodne to neni hezke ani optimalni :-)

    cd data
    for dir in * ;
    do
    if [ -d $dir ] && [ -d ${dir}/dokumentace ]
      then
        # vlastni kopirovani dat
        mkdir -p ../cil/${dir}/dokumentace
        cp ${dir}/* ../cil/${dir}
        cp ${dir}/dokumentace/* ../cil/${dir}/dokumentace
    fi
    done
    
    7.6.2010 13:15 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    cp ${dir}/dokumentace/* ../cil/${dir}/dokumentace
    Jestli jsou pod tim adresarem 'dokumentace' jeste dalsi podadresare, tak lze pochopitelne pouzit:
    cp -r ${dir}/dokumentace ../cil/${dir}/dokumentace
    
    7.6.2010 13:20 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    cp -r ${dir}/dokumentace ../cil/${dir}/dokumentace
    Omlouvam se, ma byt cp -r ${dir}/dokumentace ../cil/${dir}
    7.6.2010 11:33 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Přes find a scriptik co to zavolá by to určitě šlo lehce.
    Ale pomocí tohoto postupu to jde taky:
    cd /cesta/k/data
    find . -maxdepth 2 -type d -regex ".*/dokumentace$" -exec  mkdir -p "/cesta/k/cil/{}" \;
    find . -maxdepth 2 -type d -regex ".*/dokumentace$" -exec  cp -r "{}" "/cesta/k/cil/{}" \;
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    7.6.2010 12:08 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    No nevim, ale s timhle resenim bych mel hned nekolik problemu:
    1. proleza cely adresar 2x
    2. najde i adresar data/dokumentace (coz se nechce)
    3. nekopiruje soubory v adresari data/X
    4. adresar data/X/dokumentace kopiruje do cil/X/dokumentace/dokumentace
    7.6.2010 13:46 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    OK, sorry - nezkusil jsem si to :)

    ad. 1 - to by snad až tak nevadilo, pokud to není několik set tisíc položek :)
    ad. 2, ad. 3, ad. 4 - oprava:
    cd /cesta/k/data
    find . -maxdepth 2 -type d -regex "\.\/.*/dokumentace$" -exec  mkdir -p "/home/imega/cil/{}" \;
    find . -maxdepth 2 -type d -regex "\.\/.*/dokumentace$" -exec  cp -r "{}/../" "/home/imega/cil/{}/../" \;
    
    Osobně bych to realizoval přes find, který by přes -exec volal skript, kde by se akce realizovaly.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    7.6.2010 13:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    /home/imega má být /cesta/k – aspoň je vidět, že jsem si to i zkusil :)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    7.6.2010 14:13 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Si mas vytvorit testovaci adresar a pod nim nejakou adresarovou strukturu pro pokusy :-)

    Ja to delam takhle:
    mkdir testovaci_adresar/data
    cd testovaci_adresar/data
    mkdir -p a/dok; touch a/soub1 a/dok/soub2
    touch b
    mkdir  c; touch c/soub3
    mkdir -p d/dok ; touch d/soub4 d/dok/soub5
    touch e
    
    Tim jsem si vytvoril smes souboru a adresaru ruznych urovni a na nich si pak delam pokusy ;-)
    7.6.2010 15:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    A pointa? - však jsem si to udělal…
    PS: já mám testovací mašinu…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    7.6.2010 15:34 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    A pointa?
    Nebudes davat do verejnych diskuzi jedno platne prihlasovaci jmeno na tvuj system. To je takova zakladni ochrana proti crackerum, kteri se chteji probourat na tvuj system.
    7.6.2010 18:40 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    „Security by obscurity“ je „základní ochrana“ - to asi ne, že ? :)
    I když jsem z hlediska bezpečnosti paranoidní, tak znalost běžného uživatele neveřejného testovacího serveru mě opravdu netrápí.
    Kolik je asi tak kulturních variant běžných uživatelských účtů pokud znáte jméno a příjmení (což u mě není problém zjistit) :)
    <joke>Ale začnu uvažovat o přejmenování root-a </joke>
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Fuky avatar 7.6.2010 12:54 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    $ find . -type d -name 'dokumentace' -printf '%h\n' |xargs -i cp -a {} cil
    
    7.6.2010 13:11 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    1. najde i jine adresare 'dokumentace' nez pouze v druhe urovni
    2. kopiruje data/X/ do cil/ (tedy ne do cil/X)
    3. kopiruje i jine podadresare nez jenon "dokumentace" (coz tazatel zrejme chtel)
    Beetljuice avatar 7.6.2010 13:26 Beetljuice | skóre: 25 | blog: BeetljuiceBlog | Most
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    JJ zdroj a cíl si upravím, ale bohužel to kopíruje i jiné adresáře než jen tu dokumentaci. A já chci jen tu dokumentaci ;-)
    Aj dont spík ÍÍngliš :-(
    7.6.2010 13:31 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Ten muj skript z prvniho prispevku funguje. Zkousel jsem to tady u sebe.

    Tohle reseni s findem by bylo efektivnejsi, problem ale je, ze 'cp' nejde dost dobre vysvetlit, aby kopirovalo jen adresar a ostatnich si nevsimalo, takze stejne by to clovek musel udelat tak, jak to mam v tom prvnim skriptu - nejdrive zkopirovat adresar a pak jenom ten podadresar.

    Pokud nekdo neprijde na to, jak jednoduse udelat neco jako: cp /data/a{./dokumentace} cil/a, tak se nehneme z mista.
    7.6.2010 13:36 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    cp /data/a{./dokumentace} cil/a
    Sakra, zase preklep :-( Ma byt carka misto tecky ve slozenych zavorkach.

    cp /data/a{,/dokumentace} cil/a
    
    Beetljuice avatar 7.6.2010 14:11 Beetljuice | skóre: 25 | blog: BeetljuiceBlog | Most
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    JJ ten tvůj skript vypadá myslím dobře. Funguje ;-) Ještě doplním pár věcí, ale ty nejsou předmětem dotazu. Moc dík za pomoc. :-)
    A ano zapomněl jsem, že i v adresáři "dokumentace" jsou podadresáře nutně ke kopírování, ale to řeší přepínač "-r"
    Aj dont spík ÍÍngliš :-(
    7.6.2010 14:23 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Reseni s "cp -r" tam mam taky :-) Jen jeste v takovem pripade muzes nahradit to mkdir -p ../cil/${dir}/dokumentace jenom mkdir ../cil/$dir
    Moc dík za pomoc
    Neni zac.
    7.6.2010 13:34 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    3. kopiruje i jine podadresare nez jenon "dokumentace" (coz tazatel zrejme chtel)
    Ma byt samozrejme "NEchtel".
    Fuky avatar 7.6.2010 17:37 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře

    Zadání není jednoznačné, takže se lze jen domnívat co tazatel přesně chtěl. ;-)

    kopiruje data/X/ do cil/ (tedy ne do cil/X)

    Kopíruje data/X do cil, tj. v adresáři cíl bude podadresář X čili kopíruje data/X/ do cil/X, vyzkoušej si co dělá:

    $ cp -a data/X cil
    

    kopiruje i jine podadresare nez jenon "dokumentace"

    Tak kopírujte jen podadresář dokumentace:

    $ find . -type d -name 'dokumentace' |xargs -i rsync -aR {} cil
    

    najde i jine adresare 'dokumentace' nez pouze v druhe urovni

    Tak si specifikujte v jaké úrovni budete adresář dokumentace zpracovávat:

    $ find . -mindepth 3 -maxdepth 3 -type d -name 'dokumentace' |xargs -i rsync -aR {} cil
    

    Ještě nějaká nejasnost?

    Beetljuice avatar 8.6.2010 09:33 Beetljuice | skóre: 25 | blog: BeetljuiceBlog | Most
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Ačkoliv je to psáno trochu kostrbatě, myslím si, že podstata požadavku je napsána již ve vzoru dotazu.
    Najít data "dokumentace" a zkopírovat do cíle, ale :
    - adresář dokumentace má nadřazený adresář (zákazník), který se musí také vytvořit v cíli, aby bylo jasné ke komu to vlastně patří.
    - pokud adresář dokumentace obsahuje i další podadresáře, tak ty také zkopírovat (to jsem v původním dotazu zapomněl zmínit) ;-)
    Aj dont spík ÍÍngliš :-(
    8.6.2010 10:57 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Kopíruje data/X do cil, tj. v adresáři cíl bude podadresář X čili kopíruje data/X/ do cil/X, vyzkoušej si co dělá:
    Ano, popletl jsem to.

    Pomotal jsem
    cp -r data/x cil
    a
    cp -r data/x/* cil
    7.6.2010 13:41 marek
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Dobry den.

    Pochopil jsem to dobre?

    ~/zkouska$ find
    .
    ./bleble
    ./bleble/dokumentace
    ./bleble/dokumentace/zkouska
    ./blabla
    ./bloblo
    ./bloblo/bubu
    ./bloblo/dokumentace
    ./bloblo/dokumentace/zkouska
    ~/zkouska$ cp --parents */dokumentace/* ../zkouska1/
    ~/zkouska$ find ../zkouska1/
    ../zkouska1/
    ../zkouska1/bleble
    ../zkouska1/bleble/dokumentace
    ../zkouska1/bleble/dokumentace/zkouska
    ../zkouska1/bloblo
    ../zkouska1/bloblo/dokumentace
    ../zkouska1/bloblo/dokumentace/zkouska
    
    Marek
    7.6.2010 14:03 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Ten prepinac "--parents" je prinos do zdejsi diskuze.

    Problem s tim tvym skriptem je, ze nekopiruji soubory v adresari v prvni urovni, tzn. ze soubory z napr. ./zkouska/bleble se nezkopiruji do ../zkouska1/bleble. To je ta velka zaludnost tohoto dotazu - zkopirovat obsah (tj.soubory) adresare a JEDNOHO jeho podadresare.

    Taky se asi nebude kopirovat stromova struktura v adresari 'dokumentace', ale to se puvodni tazatel nevyjadril, jestli se tam nejaka ocekava.
    7.6.2010 14:34 marek
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Dobry den

    " ./zkouska/bleble se nezkopiruji do ../zkouska1/bleble."

    A ma se kopirovat, nebo ne?

    Toto

    cp -r --parents */dokumentace/* ../zkouska1/
    

    podle mne dela:

    Pokud existuje adresar dokumentace ve druhe urovni, tak ho zkopiruji i s nadrizenym adresarem rekurzivne do ./zkouska1/

    Marek
    7.6.2010 15:14 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    A ma se kopirovat, nebo ne?
    Myslim, ze tazatel se vyjadril, ze ma.

    Zkousel jsi, co ten tvuj 'cp' kopiruje? Protoze ja to zkousel a nekopiruje tu prvni uroven.

    Vytvor si soubor v zkouska/bleble (napr. takhle: touch ./zkouska/bleble/abc), spust na to ten tvuj cp a podivej se, co mas v zkouska1/bleble. Soubor 'abc' to rozhodne nebude :-)

    To stejne plati pro soubory (i adresare) v ./zkouska/bleble/dokumentace/zkouska

    DIR="./zkouska/bleble/dokumentace/zkouska"
    touch ${DIR}/def
    mkdir ${DIR}/podadr
    touch ${DIR}/podadr/ghi
    
    ^^ Ani jeden z nich se nezkopiruje.
    7.6.2010 15:25 marek
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře

    Co tedy delam spatne, ze si myslym, ze mne to funguje?

    ~/zkouska$ DIR="./bleble/dokumentace/zkouska"
    ~/zkouska$ mkdir ./bleble/dokumentace/zkouska
    ~/zkouska$ touch ${DIR}/def
    ~/zkouska$ mkdir ${DIR}/podadr
    ~/zkouska$ touch ${DIR}/podadr/ghi
    ~/zkouska$ find
    .
    ./bleble
    ./bleble/dokumentace
    ./bleble/dokumentace/zkouska
    ./bleble/dokumentace/zkouska/podadr
    ./bleble/dokumentace/zkouska/podadr/ghi
    ./bleble/dokumentace/zkouska/def
    ./blabla
    ./bloblo
    ./bloblo/bubu
    ./bloblo/dokumentace
    ./bloblo/dokumentace/dir
    ./bloblo/dokumentace/dir/file
    ./bloblo/dokumentace/zkouska
    ~/zkouska$ mkdir ../zkouska1
    ~/zkouska$ cp -r --parents */dokumentace/* ../zkouska1/
    ~/zkouska$ find ../zkouska1
    ../zkouska1
    ../zkouska1/bleble
    ../zkouska1/bleble/dokumentace
    ../zkouska1/bleble/dokumentace/zkouska
    ../zkouska1/bleble/dokumentace/zkouska/podadr
    ../zkouska1/bleble/dokumentace/zkouska/podadr/ghi
    ../zkouska1/bleble/dokumentace/zkouska/def
    ../zkouska1/bloblo
    ../zkouska1/bloblo/dokumentace
    ../zkouska1/bloblo/dokumentace/dir
    ../zkouska1/bloblo/dokumentace/dir/file
    ../zkouska1/bloblo/dokumentace/zkouska
    
    Marek
    7.6.2010 15:42 Ant
    Rozbalit Rozbalit vše Re: Zkopírování vybraných adresářů, včetně nadřazeného adresáře
    Co tedy delam spatne, ze si myslim, ze mne to funguje?
    Zapomnel jsi si vytvorit ten soubor v ./bleble jak jsem psal (touch ./bleble/abc)

    Jinak se omlouvam, ze jsem nepostrehl to pridani prepinace "-r" do "cp". Tim se resi to kopirovani adresarove struktury pod 'dokumentace'.

    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.