Переименуйте специальные символы команды в имени файла

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

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

2
задан 5 February 2014 в 14:12

2 ответа

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

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

то есть:

s replace
[
| or
]
  with
_
* for all files here
0
ответ дан 5 February 2014 в 14:12

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

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

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

0
ответ дан 5 February 2014 в 14:12

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

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