Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
perl -MFile::Find -MFile::Copy -we ' $dir1="/home/user/dir1"; $dir2="/home/user/dir2"; find(\&wanted, $dir1); sub wanted { File::Copy::move( "$File::Find::dir/$_" , $dir2 ); }'
... which works fine, but I wanted to optimize it by having _as many_ files as possible in the 'wanted' function, instead of moving the files on _one by one_ basis as the above code does ( as I understand it ). Something similar to this shell code, which moves the files all together in _one shot_ or at least in big chunks ...,
mv $( find . -type f ) /home/user/dir2/Obviously the above code fails for file names with spaces in them ..., so I thought using Perl, but can't seem to find the right approach to insert _all_ of the files. Below is just an illustration of my idea:
File::Copy::move( "$File::Find::dir/*" , $dir2 ), # a * instead of current file $_Is this possible ? Thanks.
|
|---|