Duda con busqueda de archivos FIND
Publicado: 4 Mayo, 2011 - 03:10 Duda con busqueda de archivos FIND
Hola a todos,
Resulta que tengo un directorio en donde se guardan registros automaticos, pero deseo borrar una cantidad de estos luego de ser respaldados.
Los archivos poseen el siguiente formato: A0045339
La idea es borrar desde el 45339 para atras, la A y los 00 siempre van rellenando el total de 8 caracteres.
El comando FIND tiene alguna opción de borrar un rango de archivos? o esto se debe hacer con algun lenguaje y no con comandos de la bash.
Agradezco sugerencias que me permitan orientar mi busqueda, gracias.
- Inicie sesión o regístrese para enviar comentarios
- 416 lecturas


Buenas!
Te recomiendo un vistazo al manual de find para veas un poco todas las posibilidades que el comando acepta: expresiones regulares para filtrar contenido, especificar el tipo de expresión regular, ejecutar un comando, etc...
Más info: http://unixhelp.ed.ac.uk/CGI/man-cgi?find
Un saludo ; )
Una forma de hacerlo en bash,
for i in {0..4}{0..9}{0..9}{0..9}{0..9} ; do [ "$i" \> "45339" ] && break; rm "A00"$i; doneeste código borra desde 00000 a 45339, ambos inclusive.
El script ha de ser ejecutado en el directorio que contenga los archivos a eliminar.
Gracias por tu ayuda, trabajare en base a ello, te cuento como me va.
Deberías hacer una busqueda, comprobar que te saca lo que quieres y no otra cosa y luego en un segundo pase borrarlos
Hay muchas maneras de hacerlo, pero deberíamos saber más de los archivos. Por ejemplo que tiene de especial el A0045339
Una idea si son numeraciones seguidas: crea una hoja de cálculo con los archivos que quieres borrar en una columna. En la siguiente columna, concatenas con rm. Copias toda esa columna y la pasas a un script, luego sólo tendías que ejecutarlo. Así puedes tener el control antes de ejecutarlo y evitar eliminaciones indebidas.
Quizá sea rizar el rizo, pero ante un borrado masivo, cualquier precaución es poca.