Soubor obsahujici v nazvu mezeru
Jan Kasprzak
kas na informatics.muni.cz
Pondělí Květen 15 14:21:02 CEST 2000
Zdenek Drlik wrote:
: Dobrý den,
: potřeboval bych změnit ID uživatele a všem jeho souborům na disku změnit
: nové ID. Vytvořil jsem následující skript:
:
: for j in `find / -user $old_id`
: do
: chown $new_id $j;
: done
:
: Problémem je, když narazí na soubor s mezerou v názvu (např. Red
: Hat.txt), pak to do proměnné $j dává dvě hodnoty (1-Red,2-Hat.txt) a
: samozřejmě chmod zařve že soubory neexistují. Jak lze toto ošetřit?
Cistym programovanim, pochopitelne:
find / -user "$old_id" -print0 | xargs -0 chown "$new_id"
Coz je i rychlejsi i spravnejsi. Lze jen v GNU find/xargs.
-Yenya
--
\ Jan "Yenya" Kasprzak <kas at fi.muni.cz> http://www.fi.muni.cz/~kas/
\\ PGP: finger kas at aisa.fi.muni.cz 0D99A7FB206605D7 8B35FCDE05B18A5E //
\\\ Czech Linux Homepage: http://www.linux.cz/ ///
/// Vite jak Microsoft vyrabi nezavirovana CD? ... ... ... Pouziva UNIX! \\\
// http://support.microsoft.com/support/kb/articles/Q80/5/20.ASP \\
Další informace o konferenci Linux