Команда переименования специальные символы в имени файла

Команда переименования специальные символы в имени файла

Я хотел бы удалить [] в нескольких именах файлов. Я получаю ошибку, когда делаю это с помощью команды переименования.

Есть ли другой способ сделать это?

решение1

[]специальные символы в синтаксисе Perl Regex, которые используются renameкомандой. Используйте \перед ними. Пример:

rename "s/\[|\]/_/g" *

то есть:

s replace
[
| or
]
  with
_
* for all files here

решение2

Я предпочитаю использовать эту команду:

for file in $(echo *|grep -E '(\[|\])'); do mv $file $(echo $file|sed -r 's/(\[|\])/_/g'); done

Это заменит все квадратные скобки на подчеркивания в текущем каталоге.

Связанный контент