LINUX.ORG.RU
решено ФорумAdmin

Переименование файлов с кривыми именами

 


0

2

На работе юзер принёс флешку. На ней много файлов, в именах которых недопустимые символы: <, > и другое. На флешке (FAT32) эти файлы лежат, а при попытке скопировать на винт (NTFS) ругается на недопустимые имена.

Вопрос: как пакетно заменить недопустимые символы, например, символом подчёркивания?

Для Windows нашёл утилиту badfilenames.exe, к-я должна исправлять файлы так:

badfilenames.exe -ur F:\Zhopa\*

Но она вообще ничего не делает.
Вся надежда на Linux и на вас, седые строгие админы.

p.s. Подозреваю, что надо делать как-то так, но не уверен.

★★★★★

в именах которых недопустимые символы

Врешь! Недопустимые символы в именах это / и \0 — с остальным на винфак.

anonymous
()
Ответ на: комментарий от anonymous

Для «винфака» это неразрешимая катастрофа,
там посоветуют отформатировать флешку ))

Novator ★★★★★
() автор топика

prename 'y/здесь список недопустимых символы/здесь список символов замены/' *

anonymous
()
Ответ на: комментарий от anonymous

pename почему-то рекурсивно каталоги не захотел шерстить,
поэтому я сделал так:

find /mnt/data/Zhopa/* -exec rename 's/«KROHNE»/KROHNE/' '{}' \;
Novator ★★★★★
() автор топика
Ответ на: комментарий от anonymous

алсо, скрипты работают на обеих системах

anonymous
()
#/usr/bin/env fish

for f in (ls); mv -v $f (date +%s_%N); end

Грязный вариант, придётся расширения потом прописывать вручную.

Hertz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.