Utilizo el siguiente comando para borrar un directorio, de archivos y directorios de más de 30 días de antigüedad, y moverlos a un directorio de archivo que puedo eliminar después de algunas semanas si nadie solicita sus archivos. El directorio de destino tiene subdirectorios por nombre de usuario, al igual que el directorio de archivo.
Este es el comando que uso:
find /path/to/directory/username/ -mtime +30 -exec mv "{}" /path/to/archive/username/ \;
Sugerí una versión modificada de este a responder a una pregunta sobre el ASK ubuntu, otro usuario edita el código para cambiar el final de la línea \;
para el +
ya que es más rápido (y más correcto?). Mira aquí
Sin embargo, usar +
de esta manera funciona si el -exec
comando está ls -lh
pero no en el comando real que uso. Si lo intento +
aparece un mensaje de error:
find: missing argument to '-exec'
No entiendo por qué se comporta de esta manera, o cuál sería el comando correcto. Por favor, no solo publique una corrección de comando, me gustaría entender en lugar de seguir una sugerencia a ciegas.
+
múltiples argumentos para el mismo comando, ¡pero mv
no puedo hacer frente a eso!