Foros del Web » Programación para mayores de 30 ;) » Programación General »

Consulta eliminacion de multiples archivos con misma cabecera

Estas en el tema de Consulta eliminacion de multiples archivos con misma cabecera en el foro de Programación General en Foros del Web. Hola, queria consultarles como puedo hacer lo siguiente. Tengo una carpeta con archivos, como por ejemplo: SISTEMA07-03-23-15:09:07.GIF SISTEMA07-03-23-15:09:19.GIF DESARROLLO07-03-23-15:01:39.GIF DESARROLLO07-03-23-15:04:59.GIF Fijense que el nombre es ...
  #1 (permalink)  
Antiguo 23/03/2007, 12:09
 
Fecha de Ingreso: febrero-2007
Mensajes: 33
Antigüedad: 17 años, 2 meses
Puntos: 0
Consulta eliminacion de multiples archivos con misma cabecera

Hola, queria consultarles como puedo hacer lo siguiente. Tengo una carpeta con archivos, como por ejemplo:

SISTEMA07-03-23-15:09:07.GIF
SISTEMA07-03-23-15:09:19.GIF
DESARROLLO07-03-23-15:01:39.GIF
DESARROLLO07-03-23-15:04:59.GIF

Fijense que el nombre es UNA CABECERA, FECHA ACTUAL y HORA ACTUAL.

Como hago para que el unlink me borre todos los archivos de esa carpeta que por ejemplo comiencen con SISTEMA?.
  #2 (permalink)  
Antiguo 23/03/2007, 12:28
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Re: Consulta eliminacion de multiples archivos con misma cabecera

deverías hacer un bucle, que valla uno por uno verificando (mediante una simple expresión regular) si el archivo empieza con X, si es posirivo que lo borre, sino que siga con el siguiente archivo...Te improviso un código

Código:
opendir...
my @files = readdir...
closedir...

foreach my $file (@files){
   if ($file =~ /SYSTEMA/){
      unlink ($file);
   }
}
Con ese simple script eliminarás todos los archivos que tengan la palabra SYSTEMA, para más info sobre expresiones regulares checeka la sección de tutoriales de www.perlenespanol.com

Espero que te sirva

Saludos
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 23/03/2007, 13:00
 
Fecha de Ingreso: febrero-2007
Mensajes: 33
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Consulta eliminacion de multiples archivos con misma cabecera

Hola, gracias por responder rapido, yo estoy trabajando en linux, los archivos a eliminar se encuentran en una subcarpeta llamada tmp de donde se ubica el pl. Seria asi el opendir?, pq lo pruebo y no me funciona!

opendir(DIRTEMP, './tmp');
my @archivos = readdir DIRTEMP;
closedir DIRTEMP;

foreach my $borrar (@archivos){
if ($borrar =~ /sistema/){
unlink ($borrar);
}
}

Otra pregunta, los archivos tienen que tener algun permiso en especial para ser eliminados?.
  #4 (permalink)  
Antiguo 23/03/2007, 13:57
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Re: Consulta eliminacion de multiples archivos con misma cabecera

opendir(DIRTEMP, 'tmp');

Prueba así, saludos
__________________
Esteban Quintana
  #5 (permalink)  
Antiguo 23/03/2007, 14:52
 
Fecha de Ingreso: febrero-2007
Mensajes: 33
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Consulta eliminacion de multiples archivos con misma cabecera

Funciono de maravillas!, gracias por la ayuda y por responder tan rapido, la verdad que me sacan de apuros de inmediato...Saludos!.
  #6 (permalink)  
Antiguo 23/03/2007, 18:52
Colaborador
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 524
Antigüedad: 18 años
Puntos: 11
Re: Consulta eliminacion de multiples archivos con misma cabecera

http://perldoc.perl.org/functions/unlink.html

Código:
unlink <SISTEMA*>;
  #7 (permalink)  
Antiguo 24/03/2007, 07:23
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Re: Consulta eliminacion de multiples archivos con misma cabecera

ups, me había olvidado de esa opción...Es que nunca la uso, la leí hace muuuccho...:S
__________________
Esteban Quintana
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:42.