4 votos

Copiar archivos de tipo específico de la carpeta padre a la carpeta hija

Puedo copiar con éxito el archivo de la carpeta "objects" (el directorio en el que estoy) a su subcarpeta "access" con este código en Terminal.

find . -name *.pdf -exec cp {} ./access \;

Pero el código también está buscando en la "carpeta de acceso" los archivos a copiar y me sale este mensaje

cp: ./access/cuid12368.pdf and ./access/cuid12368.pdf are identical (not copied).

¿Hay alguna forma de que no busque en la carpeta de "acceso" los archivos a copiar?

1voto

Noah Broyles Puntos 154

El find no es necesario para esta operación. Utilizar:

cp *.pdf access/.

Esto copia todos los archivos PDF en el access y es mucho más bonito y sencillo que el equivalente find comando.

0voto

john Puntos 11

Puedes copiar archivos de una carpeta a una subcarpeta simplemente utilizando el comando cp. Por ejemplo, tengo un directorio carpeta1 con 10 archivos PDF y una carpeta llamada carpeta2. Copie o mueva los archivos PDF a la carpeta2 de la siguiente manera.

cd folder1
mv *.pdf folder2/

Esto moverá los archivos pdf a la subcarpeta folder2.

0 votos

El mv funcionaría igual sin el comando / después de folder2 . Utilice cp *.* folder2 para copiar sólo todos los archivos directamente bajo folder1 a folder2 cuando se está dentro folder1 .

0voto

klanomath Puntos 19587

Si insiste en utilizar el find ... -exec cp ...\N-; (en lugar del cp ) y no quieres que recorra ningún subdirectorio utiliza el comando -maxdepth X argumento.

... 0 limita toda la búsqueda a los argumentos de la línea de comandos (=no hace nada).
... 1 limita toda la búsqueda al propio directorio de inicio (=sin subdirectorios).

find . -name *.pdf -maxdepth 1 -exec cp {} ./access \;

En 10.11 El Capitan el comando anterior falló ( find: ejemplo01.pdf: primario u operador desconocido ) y tuve que usar:

find . -name "*.pdf" -maxdepth 1 -exec cp {} ./access \;

-1voto

Douglas Puntos 10417

¿Hay alguna forma de que no busque en la carpeta de "acceso" los archivos a copiar?

Utilice el -path "pathname" argumentos.

find . -name *.pdf -path "./access" -exec cp {} ./access \;

1 votos

¿No le diría eso que buscara en la carpeta "access" en lugar de no buscarla?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X