Tengo una carpeta con varios archivos. Necesito eliminar todos los archivos creados antes del 1 de julio. ¿Cómo hago eso en un script bash?Bash: eliminar según la fecha del archivo sello
Respuesta
creo que el siguiente debería hacer lo que quiera:
touch -t 201007010000 dummyfile
find /path/to/files -type f ! -newer dummyfile -delete
La primera línea crea un archivo que se modificó el 1 de julio de 2010. La última segunda línea encuentra todos los archivos en/ruta/a/archivo que tiene una fecha no más nueva que el archivo dummy, y luego los borra.
Si desea comprobar que funciona correctamente, elimine el argumento -delete
y debería enumerar los archivos que se eliminarán.
esto debería funcionar:
find /file/path ! -newermt "Jul 01"
para encontrar los archivos que desea eliminar, por lo que el comando para eliminarlos serían:
find /file/path ! -newermt "Jul 01" -type f -print0 | xargs -0 rm
Eric, qué versión de find tiene "newerct". No puedo encontrar eso listado en cualquier página de manual. – bramp
@bramp: GNU 'find' tiene esa opción. Sin embargo, Unix/Linux no tiene noción de una fecha de creación, así que usaría '-newermt'. La 'c' es para el cambio de estado del inodo en lugar de" creación ". –
@Dennis: Gracias por su aclaración. –
- 1. hora y la fecha del sello de tiempo con php
- 2. conseguir la fecha del sello de tiempo en PostgresSQL
- 3. Sello archivo PDF con control para la posición del archivo de sello
- 4. Python - Agregar sello de fecha al archivo de texto
- 5. Cómo obtener la fecha y hora del sello de fecha y hora
- 6. Como llegar hora y la fecha del sello de fecha y hora en php
- 7. bash: cómo eliminar elementos de una matriz según un patrón
- 8. Fecha del análisis en Bash
- 9. Probar una fecha de archivo con bash
- 10. cadena bash hasta la fecha
- 11. Agregar un sello de fecha y hora a Python imprimir
- 12. Código de trabajo de Bash para eliminar la primera o la última línea del archivo
- 13. Hacer del título de un directorio la fecha en bash?
- 14. Convertir sello MySql DateTime en formato de Fecha de JavaScript
- 15. Delphi 6: ¿Cómo puedo cambiar la fecha de creación del archivo (= fecha de creación del archivo)
- 16. Bash fecha/hora aritmética
- 17. LINQ: ¿Eliminar elemento de XML según el valor del atributo?
- 18. PHP: ¿Cómo obtener la fecha de creación del archivo cargado?
- 19. fecha/hora modificada con formato de archivo en mac bash?
- 20. Convertir cadenas a la fecha en bash
- 21. Fecha y hora de formato según la zona
- 22. script bash para encontrar archivos antiguos basados en la fecha en el nombre de archivo
- 23. bash filepath al directorio principal del archivo
- 24. línea de ejecución del archivo en bash
- 25. Colorize nombre de archivo según estado svn
- 26. Eliminar elemento duplicado de la lista según la condición
- 27. Eliminar elemento de la matriz multidimensional según la clave
- 28. git - eliminar archivo del repositorio
- 29. Cómo eliminar la sección principal en bash
- 30. bash - ¿Obtener mtime del archivo específico?
Después de dejar el '-' frente a 'f ', ahora parece enumerar todos los archivos. Si dejo caer el '!' solo muestra los archivos más nuevos. –
descaradamente he robado/alterado la respuesta de http://forums.devshed.com/unix-help-35/finding-a-file-modified-created-before-a-specific-date-468700.html – bramp
oh sí, lo siento , no debería haber un -f, solo f. – bramp