Я делаю ошибку при попытке переместить файлы из одного места в другое. Теперь все файлы перемещены, но в конце всех имен содержится *
.
Как удалить все *
из конца имен файлов в командной строке?
Примечание: Я работаю со встроенной системой, нет подключения к Интернету. Пожалуйста, предоставьте решения без необходимости устанавливать новые вещи.
Спасибо заранее
Существует команда под названием (в избытке оригинальности) rename
, которая позволяет переименовывать файлы с помощью регулярных выражений.
В этом случае вы, вероятно, захотите сделать:
rename 's/\*//' files...
, который удалит первый *
символ, найденный в каждом имени файла.
Вы можете использовать rename -n
, чтобы перечислить переименования, которые будут выполняться, фактически не делая их, если вы беспокоитесь о неправильном регулярном выражении.
Ubuntu поставляется с командой rename
, которая может переименовывать файлы с помощью регулярных выражений.
Если все ваши файлы находятся в одной папке, вы можете просто сделать следующее:
rename s/\\*$// *
(\\*
- экранированный *
, $
- конец файла name. Совпадение будет заменено ничем.)
Если все ваши файлы находятся в структуре каталогов, вы можете использовать find:
find / -exec rename s/\\*$// {} \;
, которая выполняет rename /\\*$//
для каждого файла и каталог в вашей системе. Не стесняйтесь сменить /
на папку, в которой находится структура каталогов.