varios renombrar recursivamente nombres mover masivo espacios con comando archivos archivo linux shell find move

nombres - renombrar archivos recursivamente linux



Mover mĂșltiples archivos con espacios en el nombre(Linux) (2)

No es necesario usar un bucle:

find . -maxdepth 1 -name "*$pattern*xlsx" -type f -exec mv {} $destination +

Tengo un directorio que contiene varios archivos con espacios en sus nombres. Quiero encontrar un patrón en el nombre y esos archivos se moverán a otro directorio. Ahora el problema es que cuando el patrón particular se encuentra en un solo nombre de archivo, ese archivo se mueve a la ruta de destino, pero cuando hay varios archivos, este método falla. A continuación está el código que estoy usando:

for file in `find . -maxdepth 1 -name "*$pattern*xlsx" -type f` do mv "$file" $destination/ done


Trabajando bien con el siguiente código

find . -maxdepth 1 -name "*$pattern*xlsx" -type f -print0 | xargs -I{} -0 mv {} "$destination/"