Portál AbcLinuxu, 12. května 2025 11:22

Dotaz: Najit a kopirovat do adresare

26.2.2010 06:40 anon123 | skóre: 35 | blog: ganomi
Najit a kopirovat do adresare
Přečteno: 177×
Odpovědět | Admin

Nemuzu soubor kopirovat do jineho adresare, protoze mi jmeno souboru neni samotne jmeno, ale je tam i cesta "./"

find /spam -ctime 1 -type f -printf %f%h -exec "cp {} /var/www/www.example.com/user/web1_admin/Maildir/.Spam/cur/{}" \;

msg.yi8Y.find: `cp ./msg.yi8Y /var/www/www.example.com/user/web1_admin/Maildir/.Spam/cur/./msg.yi8Y': No such file or directory

Jak odstranim tu cestu?


Řešení dotazu:


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

Odpovědi

26.2.2010 06:47 anon123 | skóre: 35 | blog: ganomi
Rozbalit Rozbalit vše Re: Najit a kopirovat do adresare
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tak jsem nasel s xargs, ale stejne by me zajimalo, jak to udelat bez xargs

find /spam -ctime 1 -type f -print0 | xargs -0 -i cp {} /var/www/www.example.com/user/web1_admin/Maildir/.Spam/cur/
26.2.2010 06:52 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Najit a kopirovat do adresare
Rozdíl je v tom, že v druhém případě nemáte na konci {}.
In Ada the typical infinite loop would normally be terminated by detonation.
26.2.2010 11:24 anon123 | skóre: 35 | blog: ganomi
Rozbalit Rozbalit vše Re: Najit a kopirovat do adresare

Neni, kdyz v prikazu bez xargs nedam nakonec {}, tak to hlasi tu samou chybu, jelikov u jmena souboru je stale cesta ./

26.2.2010 11:32 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Najit a kopirovat do adresare
spíš naopak, ne?
In Ada the typical infinite loop would normally be terminated by detonation.
26.2.2010 13:03 anon123 | skóre: 35 | blog: ganomi
Rozbalit Rozbalit vše Re: Najit a kopirovat do adresare

Tak ted nevim jesli se se mnou hadas... Proste to je tak jak pisi. Muzes si to sam vyzkouset.

Zatim jsem jeste neprisel na to jak to jen prikazem find zkopirovat. Porad se mi tam plete ta cesta ./

Řešení 1× (anon123 (tazatel))
26.2.2010 13:23 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: Najit a kopirovat do adresare
Jo aha, já jsem si špatně přečetl to tvrzení co kde nefunguje.

Problém není v nějakém "./" ale v tom, že dáváte celý ten příkaz do uvozovek. Pak se find snaží spustit "cp co kam" doslova jako jeden příkaz místo "cp" "co" "kam" jako příkaz s parametry.

Takže místo
find /spam -ctime 1 -type f -printf %f%h -exec "cp {} /var/www/www.example.com/user/web1_admin/Maildir/.Spam/cur/{}" \;
použijte
find /spam -ctime 1 -type f -printf %f%h -exec cp "{}" "/var/www/www.example.com/user/web1_admin/Maildir/.Spam/cur/{}" \;
nebo lépe
find /spam -ctime 1 -type f -printf %f%h -exec cp -t /var/www/www.example.com/user/web1_admin/Maildir/.Spam/cur/ "{}" +
In Ada the typical infinite loop would normally be terminated by detonation.
26.2.2010 14:25 anon123 | skóre: 35 | blog: ganomi
Rozbalit Rozbalit vše Re: Najit a kopirovat do adresare

Jo jo, funguje :-). Diky za vysvetleni.

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.