Foros del Web » Administración de Sistemas » Unix / Linux »

restar 2 minutos a una fecha

Estas en el tema de restar 2 minutos a una fecha en el foro de Unix / Linux en Foros del Web. hola estoy haciendo un script que tiene que borrar los archivos creados con el siguiente nombre: 2009-4-20-9:40 2009-4-20-9:42 2009-4-20-9:44 2009-4-20-9:46 tengo que ir variando la ...
  #1 (permalink)  
Antiguo 20/04/2009, 03:42
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
restar 2 minutos a una fecha

hola
estoy haciendo un script que tiene que borrar los archivos creados con el siguiente nombre:

2009-4-20-9:40
2009-4-20-9:42
2009-4-20-9:44
2009-4-20-9:46

tengo que ir variando la fecha/hora cada dos minutos. he probado varias opciones pero no me funcionan, la dos últimas probadas:

FECHA=`date +%Y-%m-%d-%H:%M -d "+2 minutes"`

FECHA=`date +%Y-%m-%d-%H:%M -d "+2 minutes $FECHA"`

Alguien me echa un cable?

Saludos!!
__________________
Si lo supiese no preguntaría...
  #2 (permalink)  
Antiguo 20/04/2009, 05:28
Avatar de Zedarg  
Fecha de Ingreso: septiembre-2007
Mensajes: 60
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: restar 2 minutos a una fecha

no se que lenguaje estas escribiendolo.
FECHA=" %M " +2"

agregale el valor solo a los minutos. (esa fue la idea.)
  #3 (permalink)  
Antiguo 20/04/2009, 05:44
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: restar 2 minutos a una fecha

cuando yo pongo en el shell de linux la siguiente instrucción

date --date "2 minutes now"

añade dos minutos a la hora actual

Pues necesito que se los añada a una hora que yo le paso (todo esto en un script)
__________________
Si lo supiese no preguntaría...
  #4 (permalink)  
Antiguo 20/04/2009, 07:32
Avatar de AleSanchez
Colaborador
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires, Argentina
Mensajes: 3.692
Antigüedad: 19 años, 8 meses
Puntos: 47
Respuesta: restar 2 minutos a una fecha

Mostranos el script porfa.

Saludos
__________________
¡Volviendo a la programación!
  #5 (permalink)  
Antiguo 20/04/2009, 14:13
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 10 meses
Puntos: 76
Respuesta: restar 2 minutos a una fecha

Cita:
Iniciado por morenita7722 Ver Mensaje
date --date "2 minutes now"
Jamás he usado esto, pero viendo tu código se me ha ocurrido, ¿y si cambio lo de "now" por la hora que me da la gana? Bien, probemos:

Cita:
dandebian@dan:[~]$ date --date "2 minutes 22:20:16"
lun abr 20 22:22:16 CEST 2009
¡Hop, hop, hop! El que diga que esto no es divertido, es un miserable.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #6 (permalink)  
Antiguo 21/04/2009, 00:53
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: restar 2 minutos a una fecha

Si, de eso se trata, pero no de ponerla a mano.
Esa hora se recoge en una variable y yo le paso esa variable en lugar del now, pero llevo poco haciendo scripts y seguramente faltarán comillas o algún carácter lo interpreta mal, no sé. Yo pongo lo siguiente:

date +%Y-%m-%-d-%H-%M --date "2 minutes $FECHA"

Donde FECHA es una variable que recoge la fecha/hora en la que se empieza a ejecutar un script.
Saludos!!
__________________
Si lo supiese no preguntaría...
  #7 (permalink)  
Antiguo 21/04/2009, 14:04
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 10 meses
Puntos: 76
Respuesta: restar 2 minutos a una fecha

Vale, creo que ya te sigo. El truco está en las comillas invertidas, que significan "sustituye lo que hay dentro de estas comillas invertidas por el resultado de ejecutar en la consola su contenido". Prueba con lo siguiente:

FECHA='date +%X' ; date --date "60 minutes `$FECHA`"

Esto te mostrará la fecha actual +60 minutos.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #8 (permalink)  
Antiguo 22/04/2009, 00:22
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: restar 2 minutos a una fecha

Este es el script:

FECHA1=$(date +%X)
FECHA2 =$(date --date "2 minutes `$FECHA1`")
echo "$FECHA1 $FECHA2"



Y al ejecutarlo este es el resultado:

fecha.sh: 2: 08:19:46: not found
fecha.sh: 2: FECHA2: not found
08:19:46
__________________
Si lo supiese no preguntaría...
  #9 (permalink)  
Antiguo 22/04/2009, 03:57
Avatar de sysdebian  
Fecha de Ingreso: octubre-2008
Mensajes: 196
Antigüedad: 15 años, 7 meses
Puntos: 8
Respuesta: restar 2 minutos a una fecha

Código:
date +%Y-%m-%-d-%H-%M --date "2 minutes ago"
__________________
Artigoo: Gestor de contenido online.
  #10 (permalink)  
Antiguo 22/04/2009, 05:30
Avatar de morenita7722  
Fecha de Ingreso: enero-2007
Ubicación: aquí, ¿donde sino?
Mensajes: 261
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: restar 2 minutos a una fecha

eso sería para restar dos minutos a la hora actual, pero yo necesito restar dos minutos a cualquier hora, no tiene por que ser la actual
Saludos!!
__________________
Si lo supiese no preguntaría...
  #11 (permalink)  
Antiguo 22/04/2009, 07:03
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 10 meses
Puntos: 76
Respuesta: restar 2 minutos a una fecha

Dos soluciones posibles. Una, dejando que el sistema diga la hora que es:

Cita:
FECHA1="date +%X" ; $FECHA1 ; date +%X --date "2 minutes `$FECHA1`"
Otra, estableciendo yo la hora a mano:

Cita:
FECHA1="13:15:25" ; echo $FECHA1 ; date +%X --date "2 minutes $FECHA1"
Ojo al uso de las comillas.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
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 21:05.