“Conocimientos Sistemas>unix

Cómo encontrar Diferencia horaria en Unix Script

2013/6/10
Si usted necesita para encontrar la diferencia entre dos horas , si la diferencia es de sólo unos pocos segundos, o años , usted puede hacer esto en la versión GNU de Unix con el comando "date" . Sin embargo , el procedimiento no es intuitivo , ya que el comando date no proporciona directamente una bandera o argumento a favor de este procedimiento. Además , existen varias versiones del comando date en Unix . Tenga en cuenta que lo que funciona en la versión GNU del comando date no funcionará con la versión de BSD . Unix Epoch

La clave para resolver este problema es entender cómo el equipo realmente mantiene la noción del tiempo . Una computadora Unix almacena todo momento como el número de segundos que han transcurrido desde el Epoch Unix . El Unix Epoch es la medianoche del 1 de enero de 1970.
Obtener los segundos desde el Epoch Unix

Usted puede obtener el número de segundos desde el Epoch Unix a un determinado fecha usando una combinación de la bandera "+ % s " y " - Fecha " de comandos. Escriba lo siguiente en una shell para obtener el número de segundos desde el Epoch Unix al 11 de marzo de 2011:
fecha

- Fecha 2011-03-11 + % s

El resultado será : 1299823200 . Se puede utilizar cualquier formato de fecha y hora que se puede analizar mediante el comando "date" en este script. Puede escribir " man date " en su shell para leer sobre todos los formatos de fecha válidos.
La solución

puede tomar cualquier fecha o dado vez en un formato compatible con Unix y lo convierten en el segundo antes o desde el Epoch Unix , se puede ver la diferencia entre dos tiempos restando los resultados de dos de estos comandos.

Escriba los siguientes comandos en la shell:

d1 = `date - Fecha 2011-03-11 + % s `

d2 = `date - Fecha 2010-05-12 + % s `
< p > echo "$ ((( d1 -d2 ))) segundo diferencia "

En las dos primeras líneas , el carácter ' no es un símbolo de comillas . Es una copia de garrapata. Usted puede localizar a este personaje a la izquierda de la tecla " 1 " en un teclado estándar de EE.UU. .

La salida debería ser la diferencia entre los dos tiempos en segundos . Si usted necesita, usted puede convertir esto en minutos , horas, días , y así sucesivamente dividiendo por el número de segundos en un minuto , minuto en una hora o hora en un día.
Un script

sería una molestia que escribir esos tres comandos largos cada vez, usted debe encapsular en un script. ! Abre tu editor de texto favorito y pega el siguiente :

# /usr /bin /env golpe

d1 = `date - fecha $ 1 + % s `

d2 = `date - fecha de $ 2 + % s `

echo "$ ((( d1 -d2 ))) segundo diferencia "

cambia algunas cosas. La línea superior permite que el shell actual saben que cree este script para usar el lenguaje de la cáscara " fiesta " . A medida que cambie las fechas de los dos comandos de fecha por "$ 1" y "$ 2 ", podrá aprobar nuevas fechas para la secuencia de comandos cada vez que se ejecuta . Una vez más , en las dos primeras líneas , se utiliza la parte de atrás -tick ' , ni una sola cita .

Guardar la secuencia de comandos con el nombre " timediff.sh " y ejecute el comando "chmod + x timediff.sh . " en la shell de Unix dejar saber que tiene permiso para ejecutar este como un script

Después de hacer esto , se puede ver la diferencia entre dos fechas y horas escribiendo:

. /timediff.sh 09/13/2010 14/01/1981

unix
Cómo matar Conexiones establecidas en Unix De NetStat
Cómo cortar las extensiones de archivo en Unix
Cómo buscar una cadena en un archivo en Unix
Cómo copiar un archivo a la unidad de disquete en Unix
Cómo descomprimir un archivo en Unix Z
Lista de Unix Systems
Cómo funcionar con un núcleo Unix
Unix Dif. Tutorial
Conocimientos Informáticos © http://www.ordenador.online