Расположение файлов после ошибочной команды переименования

В Veracrypt перед монтированием тома перейдите в «Настройки» > «Параметры монтирования» и добавьте «umask=022» в качестве строки параметра монтирования, это добавит права на чтение и выполнение для группы и других. доступ. Смонтируйте свой том. Доля samba должна работать тогда.

7
06.04.2020, 12:44
1 ответ

Теперь файл называется .lename.

(Предполагается, что файл раньше назывался filename, ваш «настоящий» файл будет иметь другое имя. Но как бы файл ни назывался, первые два символа были заменены на ..)

Это связано с тем, что точка в регулярном выражении является специальным символом , что означает соответствие любому символу . Итак, ..— это любые два символа. Поскольку renameзаменяет только первое совпадение, если вы не добавили глобальный модификатор (g), первые два символа вашего имени файла были заменены.

Обратите внимание, что «замена» вs/regex/replacement/modifiersне является регулярным выражением, и поэтому .в правой части вашего выражения s/.././работает так, как вы ожидали.


А теперь, где ваш файл?:

Файлы, начинающиеся с ., являются скрытыми файлами. Таким образом, вы не увидите их, запустив ls. Запустите ls -a, чтобы открыть эти файлы.

Переименуйте файл обратно, используяmv.lename filename


В следующий раз используйте escape-символы, специальные для регулярных выражений:

rename 's/\.\././' filename

Кроме того, вы можете использовать rename -n...для пробного -прогона и проверки результатов перед выполнением фактического переименования. Вот бы вам что-то вроде этого:

rename(filename,.lename)
20
28.04.2021, 23:18

Теги

Похожие вопросы