Я хотел бы удалить [] в нескольких именах файлов. Я получаю сообщение об ошибке при выполнении команды переименования.
Есть ли другой способ сделать это?
[]
- это специальные символы в синтаксисе Perl Regex, который используется командой rename
. Используйте \
перед ними. Пример:
rename "s/\[|\]/_/g" *
то есть:
s replace
[
| or
]
with
_
* for all files here
Я предпочитаю использовать эту команду:
for file in $(echo *|grep -E '(\[|\])'); do mv $file $(echo $file|sed -r 's/(\[|\])/_/g'); done
Это заменит все квадратные скобки на подчеркивания в текущем каталоге.