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