Cambiar el nombre de varios files a sus sufijos

Necesito una forma de cambiar el nombre de un par de files que contengan espacios. Yo tengo:

>ls Garbage Foo1.txt Garbage Foo2.txt Garbage Foo3.txt Garbage Foo4.txt ... 

Y yo necesito:

 Foo1.txt Foo2.txt Foo3.txt Foo4.txt ... 

¿Alguna idea de como hacer esto?

Related of "Cambiar el nombre de varios files a sus sufijos"

Este es uno de esos pocos casos donde la utilidad de rename del package util-linux está a la altura de la tarea. La mayoría de las distribuciones envían esta utilidad como rename ; en Debian, Ubuntu y derivados, rename es una utilidad diferente, más poderosa y la utilidad util-linux se llama rename.ul .

 rename 'Garbage ' '' *.txt 

Una solución totalmente portátil es

 for x in *.txt; do mv -- "$x" "${x#'Garbage '}" done 

Con el cambio de nombre de Perl:

 rename -n 's/.*\s+//' *.txt 

eliminar -n cambiar para hacerlo de verdad. ( -n == ejecución en seco)

Solo usando Bash:

 for file in ./*.txt; do mv -- "$file" "${file/Garbage /}"; done