web-dev-qa-db-fra.com

Renommer les caractères spéciaux de la commande dans le nom de fichier

Je voudrais supprimer [] dans plusieurs noms de fichiers. J'obtiens une erreur lorsque je le fais avec la commande rename.

Y a-t-il une autre façon de procéder?

1
user244823

[] sont des caractères spéciaux dans la syntaxe Perl Regex qui est utilisée par la commande rename. Utilisation \ devant eux. Exemple:

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

c'est à dire:

s replace
[
| or
]
  with
_
* for all files here
2
user.dz

Je préfère utiliser cette commande:

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

Cela remplacera tous les crochets pour souligner le répertoire courant.

0
Frantique