Remova o texto de vários nomes de pastas em fish ou bash

Remova o texto de vários nomes de pastas em fish ou bash

tem uma pasta com subpastas. Quero remover [ trash.com ] de cada nome de pasta. Gostaria de remover o espaço após o ]

Atualmente

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

Depois do roteiro

$ ls  

happy  
Sad  
confused  
dog  
cat  
rat  

Tentei o comando find, mas [] e o espaço estão me atrapalhando.

Responder1

Experimente o seguinte:

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

A opção -n imprimirá apenas as alterações planejadas. Remova o -n para renomear os diretórios. Observe que isso renomeará não apenas os diretórios, mas também os arquivos.

Para renomear apenas diretórios, use o seguinte:

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

informação relacionada