Eliminar texto de varios nombres de carpetas en fish o bash

Eliminar texto de varios nombres de carpetas en fish o bash

tener una carpeta con subcarpetas. Quiero eliminar [basura.com] de cada nombre de carpeta. Me gustaría eliminar el espacio después de ]

Actualmente

$ ls 
 
[ garbage.com ] happy  
[ garbage.com ] Sad   
[ garbage.com ] confused  
dog  
cat  
rat  
.....

Después del guión

$ ls  

happy  
Sad  
confused  
dog  
cat  
rat  

Intenté el comando de búsqueda pero [] y el espacio me están confundiendo.

Respuesta1

Pruebe lo siguiente:

rename "s/\[\ garbage\.com\ \]\ //" -n *

La opción -n solo imprimirá los cambios planificados. Elimine -n ​​para cambiar el nombre de los directorios. Tenga en cuenta que esto cambiará el nombre no sólo de los directorios sino también de los archivos.

Para cambiar el nombre sólo de directorios, utilice lo siguiente:

find . -type d -exec rename -n "s/\[\ garbage\.com\ \]\ //" {} ";"

información relacionada