Переименование файлов с помощью регулярных выражений в командной строке

Я делаю ошибку при попытке переместить файлы из одного места в другое. Теперь все файлы перемещаются, но есть *, конкатенированный в конце всех имен.

Как удалить все * s с конца имен файлов в командной строке?

Примечание. Я работаю со встроенной системой, нет никакого подключения к Интернету. Пожалуйста, предоставьте решения, не требуя установки новых материалов.

Спасибо заранее

1
задан 13 August 2012 в 16:46

1 ответ

Ubuntu поставляется с командой rename, которая может переименовывать файлы с помощью регулярных выражений.

Если все ваши файлы находятся в одной папке, вы можете просто сделать следующее:

(\\* - это экранированный *, $ - это конец имени файла. Матч будет заменен ничем.)

Если все ваши файлы находятся в каталоге структуру, вы можете использовать find:

find / -exec rename s/\\*$// {} \;

Выполняет rename /\\*$// для каждого файла и каталога в вашей системе. Не стесняйтесь изменять / в папку, в которой находится структура каталогов.

5
ответ дан 25 May 2018 в 07:38

Другие вопросы по тегам:

Похожие вопросы: