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