Por ejemplo:
find /usr -type f -name "*.txt" -exec cp -r {} ~/txts/ \;
Funciona bien en caso de que tengamos textos de directorio existentes.
Hasta donde puedo entender -cp no tiene banderaspara resolver este caso. ¿Quizás debería usar rsync o algo más?
Respuesta1
Buena pregunta, podrías probar esto:
primero cd
en /usr
, esto se debe a que cuando usas una ruta absoluta (como /usr
) con find
sospecho que contendrá {}
rutas completas.
find . -type f -a -name "*.txt" -a -exec install -D {} ~/texts/{} \;
Cuando ejecuto este comando, recibí el siguiente mensaje de error:
buscar: './share/doc/google-chrome-stable': Permiso denegado
El mensaje de error no significa que la operación falló en general, solo significa que find
no se pudo ejecutar el comando en el ./share/doc/google-chrome-stable
directorio.
Pero para mí, todos los demás archivos y sus rutas se copiaron y las rutas del directorio se crearon según fuera necesario.
Tras una investigación más exhaustiva, la causa del error fue
% ls -al --directory ./share/doc/google-chrome-stable
drwx------ 2 root root 4096 Aug 21 12:45 ./share/doc/google-chrome-stable