paznaky v jmenech souboru

Ivo Panacek ivop na jlabs.cz
Čtvrtek Srpen 26 10:17:36 CEST 2004


Petr Duchon wrote:
> Dobry den,
> 
> mam nasledujici perlovy skriptik, ktery dela inkrementalni zalohy:
> 
> $paths = join ' ', na dirs;
> chomp $paths;
> $files = `find $paths -mtime $interval -type f`;
> $f_tmp = $files;
> $files =~ s/\n/ /g;
> $destination = "$inc_basedir/$t.tar.bz2";
> $cmd ="/bin/tar c --atime-preserve $files | /usr/bin/bzip2 > $destination";
> system($cmd);
> 
> Problem je v tom, ze kdyz jmeno souboru obsahuje mezery/diakritiku, tak 
> ten soubor tar nenajde.
> Zahlasi "cannot stat...". S mezerami bych si poradil regexem, ktery je 
> odescapuje. ale co s diakritikou?
> Objevuji se tam zcela divoka jmena, jako "NovA~1/2 vrt vÄ?etnÄ? 
> Ä?erpadla- zA~?lohovA~? daA*?ovA~?.xls".

a) bylo by dobre ten sambi svazek mit v kodovani cestiny,
    kterou na linuxu pouzivate, tj. asi jiz UTF-8, abyste ta jmena videl spravne

b) jmena souboru dat tomu prikazu do uvozovek, takze
    trochu lepe treba neco jako

    @filelist = split( /\n/, $files ); - pokud tedy ve jmenu nebude \n :)
    ... preserve "'.join('" "', na filelist).'" ...


-- 
S pozdravem
Ivo Panáček


Další informace o konferenci Linux