Ошибка переименования команды, файлы больше не отображаются на сетевых дисках Windows
Я сделал ошибку с командой переименования
find . -type f -exec rename 's/[^A-Za-z0-9._]//g' {} +
После этого файлы не находятся в своих папках, как раньше, и каждый файл имеет. перед ними. Теперь мои клиенты не могут видеть файлы. Однажды я удалю. тогда они могут видеть файлы.
Как я могу удалить. из файлов. Как это:
.finacialyear2008half.doc
в
finacialyear2008half.doc
Пожалуйста, помогите мне! Мне нужно быстрое решение.
2 ответа
find . -type f -exec rename 's/\.//' '{}' \;
Подумайте о параметре -n переименования: он просто покажет, что он будет делать после его удаления!
Предполагая, что вы используете bash, вы можете перебирать файлы, заменяя первые вхождения /.
с /
в именах файлов всех файлов в текущей папке.
for filename in $(find . -maxdepth 1 -type f)
do
mv -v $filename ${filename/\/.//}
done
Это предполагает, что вам не нужно рекурсивно переименовывать файлы, и будет работать только в текущем каталоге (-maxdepth 1
).
Отказ от ответственности: всегда делайте резервные копии ваших файлов или, по крайней мере, пробуйте несколько тестовых файлов перед выполнением каких-либо действий с вашими данными