Portál AbcLinuxu, 12. května 2025 05:09

Dotaz: cp cesta s mezerou

5.1.2006 21:43 GeishaX | skóre: 8
cp cesta s mezerou
Přečteno: 259×
Odpovědět | Admin
Potřeboval bych poradit se zkopírováním souboru do různých adresářů. Problém je v tom že v cestě je složka "Data aplikací"(mezera v názvu). cp předávám cestu pomocí proměné získané pomocí find. chyba: aplikací/../../soubor není souborem ani adresářem.

Nebo jak lze vložit do cesty zástupný znak,pokud bych to dělal takhle cp soubor.conf /home/samba/roaming/*/../../soubor.conf

Předem dík za snahu
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.1.2006 21:46 secido | skóre: 27
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak sa dobre pamatam, tak medzera ja "\ ".
5.1.2006 21:50 GeishaX | skóre: 8
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Ano ale to můj problém neřeší.Cestu beru z proměné výstupu find a tam \ vložit neumím.
David Watzke avatar 5.1.2006 21:54 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Řeší. Dej to do uvozovek "/data" nebo mezi apostrofy '/cesta'. Mezeru nahradíš s \ takhle: sed 's/ /\\ /g'.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
5.1.2006 22:05 GeishaX | skóre: 8
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Dobře tak prosím kam to mám zadat? ADRESAR=`pwd` HLEDANY=soubor.conf SOUBOR=`pwd`/soubor.conf

for NAME in `find $ADRESAR -name $HLEDANY` do cp -f $SOUBOR $NAME
je tam jen to podle mě podstatné
David Watzke avatar 5.1.2006 22:07 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Přístě zadávej k=od do tagu pre, ne code. K věci. Hoď tam
cp -f $SOUBOR "$NAME"
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 5.1.2006 22:08 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Oprava: k=od má být kód.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
5.1.2006 22:12 GeishaX | skóre: 8
Rozbalit Rozbalit vše Re: cp cesta s mezerou
"$NAME" už jsem zkoušel,taky '' a `` --nepomáhá echo vypíše cestu celou ale po předání cp se to v mezeře rozdělí
David Watzke avatar 5.1.2006 22:14 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Takže ``, ty proboha ne, to je úplně k něčemu jinýmu. "$NAME" dáváš doufám k tomu cp, ne jinam. Nějak mi to totiž nesedí. :/
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
5.1.2006 22:17 GeishaX | skóre: 8
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Samozřejmě že "$NAME" jsem zadal k cp,když to nevyšlo tak jsem zkoušel všechno.Hold nejsem žádnej programátor.
5.1.2006 22:17 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Konstrukci
for NAME in `find $ADRESAR -name $HLEDANY` do
zásadně nepoužívat!
find "$ADRESAR" -name "$HLEDANY" |
while read NAME
do
  cp -f "$SOUBOR" "$NAME"
done
  1. Problém s mezerama nastaneu už v konstrukci in `find $ADRESAR -name $HLEDANY`
  2. Když find najde pár tisícovek výsledků, tak ti ta konstrukce zhavaruje pro přetečení délky příkazového řádku
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
5.1.2006 22:22 GeishaX | skóre: 8
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Moc díky tohle řešení je správné a funkční
6.1.2006 09:50 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Je to sice funkční, nikoliv však správné řešení. Ten cyklus v bashi je zbytečný (a pomalý). Pokud nehodláš dělat nic jiného, než kopírovat, je vhodnější konstrukce
find "$ADRESAR" -name "$HLEDANY" -print0 | xargs -0 -n 1 cp -f "$SOUBOR"
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
7.1.2006 10:01 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše Re: cp cesta s mezerou
Sakr, večer mi to nějak nemyslelo. Zbytečný proces xargs.
find "$ADRESAR" -name "$HLEDANY" -exec cp -f "$SOUBOR" {} \;
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.