Tengo un directorio que contiene una gran cantidad de archivos PDF, algunos de los cuales están en subdirectorios (que pueden extenderse varias capas de profundidad). Me gustaría mover todos los archivos que coincidan *.pdf
en una sola carpeta de salida llamada papers
.
¿Cómo puedo hacer esto?
linux
command-line
blz
fuente
fuente
a/x.pdf
yb/x.pdf
?Respuestas:
Si usa
bash
una versión reciente, puede beneficiarse de laglobstar
opción:fuente
Aquí hay una prueba que hice
Observe el archivo "aaa bbb.pdf".
fuente
"{}"
para tratar con nombres de archivos que contienen espacios?(similar a otra respuesta pero prefiero pipe / xargs / mv ... más intuitivo para mí)
Para su información, hice el script de una línea anterior con éxito en varios directorios y múltiples archivos pdf.
fuente
-print0
a su búsqueda y-0
xargs.Para la línea de comandos de Windows (cmd.exe), puede usar:
fuente
Si solo busca en un directorio profundo, puede hacer:
donde
<destination>
representa algún directorio.mv
no creará automáticamente un directorio para usted.fuente