Использование модуля perl String ::Random :
perl -MString::Random -pe '
BEGIN{$s = String::Random->new}
s{[a-z0-9]$}{$s->randpattern($& =~ /\d/ ? "n" : "c")}e
' file
Обратите внимание, что это не исключает того, что замещающий символ совпадает с исходным.Возможно, неэффективный и некрасивый способ исправить это может заключаться в том, чтобы просто «бросить кубик», пока не будет сгенерирован другой персонаж :
.
perl -MString::Random -pe '
BEGIN{$s = String::Random->new}
s{[a-z0-9]$}{do {$c = $s->randpattern($& =~ /\d/ ? "n" : "c")} until $c ne $&; $c}e
' file
Я предполагаю, что это рабочий стол, так как на сервере у вас, вероятно, не будет каталога загрузки. Если это сервер, то это куда более настораживает.
Это может быть признаком того, что что-то очень не так, но на рабочем столе распаковка каталога может произойти без того, чтобы вы делали это на 100% явно. Возможно ли, что вы только что скачали этот RAR и попросили браузер открыть его? Возможно ли, что вы (с помощью сочетания клавиш или неправильного щелчка )попросили ваш файловый браузер показать его содержимое?
Возможные подходы к расследованию
htop
и просмотрите его в дереве (ярлык F5
), чтобы увидеть, кто/что запустило распаковку.