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