Renomear caracteres especiais de comando no nome do arquivo

Renomear caracteres especiais de comando no nome do arquivo

Gostaria de remover [] em vários nomes de arquivo. Recebo um erro ao fazer isso com o comando renomear.

Há outra maneira de fazer isso?

Responder1

[]são caracteres especiais na sintaxe Perl Regex que é usada por renamecomando. Use \na frente deles. Exemplo:

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

ou seja:

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

Responder2

Eu prefiro usar este comando:

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

Isso substituirá todos os colchetes por sublinhados no diretório atual.

informação relacionada