Я учусь кодировать, следуя учебным пособиям, чтобы попытаться решить проблему, которая раздражала - очистить файлы в macOS, чтобы они не мешали работе OneDrive.
Я следовал нескольким учебникам ион почти делает то, на что я надеюсь.
#!/usr/bin/perl -w
use strict;
use warnings;
use File::Find;
my @argv;
my $dir = $ARGV[0];
find(\&dirRecurs, $dir);
sub dirRecurs{
if (-f and not 's/^\./' )
{
(my $txt = $_) =~ s/^\ | (?=\.)|[\/!#%^?*&()\\]| $//g;
rename($_, $txt);
}
}
Я ожидал, что это исключит .dotfiles
из процесса переименования в результате and not 's/^\./'
, но это не так.Если я уберу and not 's/^\./'
из строки if, все будет работать так, как я надеюсь, за исключением
Я ожидал \/
в регулярном выражении для переименования файлов, таких как more/less.pdf
, но это не