Как удалить начальные цифры в имени файла в терминале

find . -type f | sed 's|\(.*/\)[^A-Z]*\([A-Z].*\)|mv \"&\" \"\1\2\"|' | sh


Команда find . -type f | sed 's|\(.*/\)[^a-z]*\([a-z].*\)|mv \"&\" \"\1\2\"|' | sh выполняет следующие действия:

1. find . -type f находит все файлы в текущем каталоге и его подкаталогах.
2. sed 's|\(.*/\)[^a-z]*\([a-z].*\)|mv \"&\" \"\1\2\"|' используется для изменения имени файлов. Она заменяет начальные цифры в именах файлов на пустую строку. Файлы, у которых имя начинается с цифр, перемещаются в тот же каталог, но с именем, где цифры отсутствуют.
3. sh выполнит результирующие команды mv для перемещения файлов.

Эта команда полезна, когда вам нужно удалить начальные цифры в имени файлов пакетно.

Альтернативой для этой команды может быть использование инструментов переименования файлов, таких как rename или mmv. Однако, команда с использованием find и sed является простым и однострочным решением, которое может быть полезным в определенных сценариях, особенно если у вас нет доступа к дополнительным инструментам. Пожалуйста, обратите внимание, что выполнение этой команды может иметь последствия, поэтому рекомендуется создать резервную копию файлов до использования данной команды.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *