The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Arriba Foros > UNIX for Dummies Preguntas y Respuestas
.
google unix.com



UNIX for Dummies Preguntas y Respuestas Si no está seguro de que para publicar un UNIX o Linux cuestión, puesto que aquí. Todos los novatos en Linux, UNIX y bienvenida!

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Comparar fecha a partir de la tabla para db2 ayer la fecha del sistema Unix sasaliasim Programación de scripts de shell y 9 12-01-2008 11:37 PM
Obtener la fecha y la hora en el pasado 1 hora desde la fecha actual spch2o Programación de scripts de shell y 5 08-29-2008 05:32 AM
Procesamiento de un archivo de registro basado en la fecha y la hora de entrada y la fecha / hora en el archivo de registro primp Programación de scripts de shell y 4 03-16-2008 11:23 AM
comparar fecha con la fecha en el expediente siog UNIX for Dummies Preguntas y Respuestas 2 10-04-2006 01:10 PM
comparar la fecha de hoy con la fecha en un archivo siog UNIX for Dummies Preguntas y Respuestas 4 10-04-2006 12:55 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 09-28-2006
Jamil Qadir Jamil Qadir is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Publicaciones: 13
Comparar fecha y hora

Hola

¿Puede alguien me envíe el código para comparar dos fecha y ejecutar un script de shell. siguiente es el código que me actully quiere pero yo estoy recibiendo errores.

considerar


Jamil

. / opt / home / REP / .profile

#! / bin / sh
VALUE \u003d `sqlplus-silent rep/Ndk38f7 @ dw <<END
conjunto pageSize 0 comentarios fuera de comprobar fuera de irse echo off
Tronco seleccionar (max (chg_dt)) de NOT_SCHEDULED_INSTALL;
salida;
FIN »
VALUE2 \u003d `sqlplus-silent rep/Ndk38f7 @ dw <<END
conjunto pageSize 0 comentarios fuera de comprobar fuera de irse echo off
Seleccione trunc (sysdate) from dual;
salida;
Fin »
if [[$ valor-eq $ valor2]], y luego
echo "n filas resultado de la base de datos"
exit 0
algo más
echo $ VALUE2
echo $ valor
fi
  #2 (Enlace permanente)  
Old 09-28-2006
Jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Fecha: febrero 2004
Ubicación: NM
Mensajes: 5.787
Oracle ya tiene fecha de aritmética, ksh no - Uso de PL / SQL:

Código:
#!/bin/ksh

date_equal()
{

sqlplus -silent rep/Ndk38f7@dw <<END
set pagesize 0 feedback off verify off heading off echo off serverout on size 100000
DECLARE 
   date1 DATE:=NULL;
   date2 DATE:=NULL;
BEGIN
DBMS_OUTPUT.enable(100000);
select trunc(max(chg_dt)) into date1 from NOT_SCHEDULED_INSTALL;
select trunc(sysdate) into date2 from dual;
IF date1 = date2
THEN
	DBMS_OUTPUT.put_line('1');
ELSE
    DBMS_OUTPUT.put_line('0');
END IF;
END;
/
exit;
END

}

if [[ $(date_equal) -eq 1 ]] ; then
# do something 
else
# do something else
fi

  #3 (Enlace permanente)  
Old 09-29-2006
jamilmjq jamilmjq is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Publicaciones: 1
fecha y hora problema

Gracias por su respuesta.
El problema es que no funcionan correctamente, siempre print 'no puede'

if [[$ (date_equal)-eq 1]], y luego
ok echo ''
algo más
echo 'no puede'
fi

gracias
  #4 (Enlace permanente)  
Old 09-29-2006
boppr6470 boppr6470 is offline
Usuario Registrado
  
 

Fecha: agosto 2006
Puestos: 8
Y ahora algo diferente

He usado antes y funciona bastante bien.
Hace un par de cosas diferentes con las fechas en función de los parámetros.

#! / usr / bin / ksh

# Datecalc - fecha Perderabo la calculadora
#

USO \u003d "\
datecalc-un año mes día - año mes día
datecalc-un año mes día [-|+] n
-d datecalc año mes día
-D datecalc año mes día
-j datecalc año mes día
datecalc-jn
datecalc-l año mes
uso \ "datecalc de ayuda \" para usar más la documentación "

DOCUMENTACIÓN \u003d "\
Versión datecalc 1,1

manipulaciones datecalc hace muchas fechas.
datecalc-A es la fecha para la aritmética
datecalc-D-D o convierte una fecha para el día de la semana
datecalc-j convierte al día o de día juliano
datecalc-l envía el último día de un mes

Todas las fechas deben estar entre los años 1860 y 3999.

datecalc un seguido de 7 parámetros calculará la
número de días entre dos fechas. Los parámetros 2-4 y 6-8
deben ser las fechas en forma de amd, y 5 parámetro debe ser un signo menos
signo. El resultado es un entero. Ejemplo:

> Datecalc a un 1960 12 31 - 1922 2 2
14212


datecalc un seguido de 5 parámetros, el cálculo de la
una nueva fecha de desplazamiento desde una fecha determinada, los parámetros deben 2-4
ser una fecha en forma ymd, Parámetro 5 debe ser + o -, y
Parámetro 6 debe ser un entero. La salida es una nueva fecha.
Ejemplo:

> Datecalc a un 1960 12 31 + 7
1961 1 7


datecalc-D seguido por 3 parámetros convertir una fecha
a un día de la semana. Parámetros de 2-4 debe ser una fecha en ymd
forma. Ejemplo:

> Datecalc-D 1960 12 31
6


datecalc-D es como el d-excepto que muestra el nombre de
del día. Ejemplo:

> Datecalc-D 1960 12 31
Sábado


datecalc-j seguido por 3 parámetros convertir una fecha
a Julian Modificado número del día. Ejemplo:
> Datecalc-J 1960 12 31
37299


datecalc-j seguida por un único parámetro se convertirá
un número Julian Modificado de un día a una fecha. Ejemplo:
> Datecalc-J 37299
1960 12 31


datecalc-l seguido por año y mes es la salida de la última
día de ese mes. Tenga en cuenta que al marcar el último día de
Febrero puede probar para el año bisiesto. Ejemplo:
> Datecalc-l 2002 2
28 "


lastday () (
entero mes, año bisiesto
# Ja Fe ma ma AP Jn JL AG SE OC no de
set-a XX mlength 31 28 31 30 31 30 31 31 30 31 30 31

año \u003d $ 1
if ((year <1860 | | Año> 3999)), luego
print-u2 años fuera de rango
return 1
fi
mes \u003d $ 2
if ((mes <1 | | mes> 12)), y luego
print-u2 meses fuera de rango
return 1
fi

if ((mes! \u003d 2)), y luego
print $ (mlength [mes])
return 0
fi

salto \u003d 0
if ((! (año% 100))) y, a continuación,
((! (año% 400))) & & salto \u003d 1
algo más
((! (año% 4))) & & salto \u003d 1
fi

feblength \u003d 28
((salto)) & & feblength \u003d 29
print $ feblength
return 0
)


date2jd () (
entero IJD día mes año mnjd JD Lday

año \u003d $ 1
mes \u003d $ 2
días \u003d $ 3
Lday \u003d $ ($ lastday año $ mes) | | exit $?

if ((día <1 | | dia> Lday)), y luego
print-u2 días fuera de rango
return 1
fi

((\u003d día standard_jd - 32075
+ 1461 * (año + 4800 - (14 - mes) / 12) / 4
+ 367 * (mes - 2 + (14 - mes) / 12 * 12) / 12
- 3 * ((años + 4900 - (14 - mes) / 12) / 100) / 4))
((\u003d standard_jd JD-2400001))


print $ jd
return 0
)


jd2dow ()
(
entero numeric_mode Dow JD
SET + Un día Domingo Lunes Martes Miércoles Jueves Viernes Sábado Domingo

numeric_mode \u003d 0
if [[$ 1 \u003d-n]], y luego
numeric_mode \u003d 1
turno
fi


JD \u003d $ 1
if ((JD <1 | | JD> 782028)), luego
print-u2 día juliano fuera de rango
return 1
fi

((dow \u003d (JD +3)% 7))

if ((numeric_mode)), y luego
print $ Dow
algo más
print $ (día [Dow])
fi
volver
)

jd2date ()
(
entero standard_jd temp1 temp2 JD día mes año

JD \u003d $ 1
if ((JD <1 | | JD> 782028)), luego
días de impresión Julian fuera de rango
return 1
fi
((standard_jd \u003d JD 2.400.001))
((temp1 \u003d standard_jd + 68569))
((temp2 \u003d 4 * temp1/146097))
((temp1 \u003d temp1 - (146097 * temp2 + 3) / 4))
((year \u003d 4000 * (temp1 + 1) / 1461001))
((temp1 \u003d temp1 - 1461 * año / 4 + 31))
((mes \u003d 80 * temp1 / 2447))
((día \u003d temp1 - 2447 * mes / 80))
((temp1 \u003d mes / 11))
((mes \u003d mes + 2 - 12 * temp1))
((año \u003d 100 * (temp2 - 49) + año + temp1))
print $ $ $ año, mes día
return 0
)


#
# Parámetros Parse y ponerse a trabajar.
$ 1 en caso
-a) if (($ # \u003d\u003d 8)), luego
if [[$ 5! \u003d -]], y luego
print-u2 - "$ uso"
salida 1
fi
JD1 \u003d $ (date2jd $ 2 $ 3 $ 4) | | exit $?
JD2 \u003d $ (date2jd $ 6 $ 7 $ 8) | | exit $?
((JD3 \u003d JD1-JD2))
print $ JD3
exit 0
elif (($ # \u003d\u003d 6)), y luego
JD1 \u003d $ (date2jd $ 2 $ 3 $ 4) | | exit $?
$ 5 en el caso
- | +) Eval '((' JD2 \u003d $ (JD1) $ (5) $ (6 }'))'
jd2date $ JD2
exit $?
;;
*)
print-u2 - "$ uso"
salida 1
;;
esac

fi
;;

-d |-D) if (($ #! \u003d 4)), y luego
print-u2 - "$ uso"
salida 1
fi
JD1 \u003d $ (date2jd $ 2 $ 3 $ 4) | | exit $?
n \u003d- numérico
[[$ 1 \u003d-D]] & & numérica \u003d ""
jd2dow eval $ $ numéricos JD1
exit $?
;;

-j) if (($ # \u003d\u003d 4)), y luego
date2jd $ 2 $ 3 $ 4
exit $?
elif (($ # \u003d\u003d 2)), y luego
jd2date $ 2 $ 3 $ 4
exit $?
algo más
print-u2 - "$ uso"
salida 1
fi
;;

-l) if (($ # \u003d\u003d 3)), y luego
lastday $ 2 $ 3
exit $?
algo más
print-u2 - "$ uso"
salida 1
fi
;;

USO-ayuda) print - "$"
print ""
print - "$ DOCUMENTACIÓN"
exit 0
;;

*) Print-u2 - "$ uso"
exit 0
;;


esac

# no alcanzó
salida 7
  #5 (Enlace permanente)  
Old 10-02-2006
cero cero is offline
Usuario Registrado
  
 

Fecha: agosto 2006
Puestos: 56
Otra forma sería:

Código:
#!/usr/bin/ksh
RET=`sqlplus -silent rep/Ndk38f7@dw <<END
set pagesize 0 feedback off verify off heading off echo off
select decode(d1,d2,'No rows',to_char(d1)||' '||to_char(d2)) from
(select trunc(max(chg_dt)) d1 from NOT_SCHEDULED_INSTALL),
(select trunc(sysdate) d2 from dual);
exit;
END`
if [[ "$RET" = "No rows" ]] ; then
   # do something
else
  # do something else
fi

Deje que la decodificación de la función de oráculos compara para usted.
  #6 (Enlace permanente)  
Old 01-10-2007
Jamil Qadir Jamil Qadir is offline
Usuario Registrado
  
 

Fecha: Sep 2006
Publicaciones: 13
unix script

Necesito un pequeño cambio en este script.

Lo que necesito cuando la fecha es menos de sysdate que dormir por 1 houre de lo contrario, ejecutar mi script abc.sh.

gracias

Jamil
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 11:40 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0