| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
sistemi  
  • Competenze informatiche di base

  • Linux

  • Mac OS

  • Ubuntu

  • Unix

  • finestre

  • Windows Vista

  • Windows XP
  •  
    Conoscenza Informatica >> sistemi >> Unix >> Content
    Come trovare differenza di orario in Unix Script
    Se hai bisogno di trovare la differenza tra due orari , se differiscono per pochi secondi o per anni , si può fare questo in versione GNU di Unix con il comando "date" . Tuttavia, la procedura non è intuitiva , come il comando date non fornisce direttamente una bandiera o argomento per questa procedura . Inoltre , più versioni del comando date esistono in Unix . Si noti che ciò che funziona nella versione GNU del comando date non funziona con la versione BSD . Unix Epoch

    La chiave per risolvere questo problema è capire come il computer tiene in realtà la cognizione del tempo . Un computer Unix memorizza tutte le volte che il numero di secondi trascorsi dalla Unix Epoch . Il Unix Epoch è la mezzanotte del 1 ° gennaio 1970.
    Ottenere i secondi dalla Unix Epoch

    È possibile ottenere il numero di secondi dalla Unix Epoch a un dato data utilizzando una combinazione di tasti "+ % s" bandiera e il comando - " data" . Digitare quanto segue in una shell per ottenere il numero di secondi dalla Unix Epoch al 11 marzo 2011 :
    data

    - Data 2011-03-11 + % s

    Il risultato sarà : 1299823200 . È possibile utilizzare qualsiasi formato di data-ora che è possibile analizzare con il comando "date" in questo script . È possibile digitare " Data l'uomo " nella vostra shell per leggere tutti i formati di data.
    La soluzione

    Come si può prendere ogni data o tempo in un formato compatibile con Unix e convertirlo i secondi prima o dopo l' Epoca Unix , è possibile calcolare la differenza tra le due volte sottraendo i risultati di due di questi comandi .

    digitare i seguenti comandi nella vostra shell:

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

    d2 = `date - data 2010-05-12 + % s`
    < p > echo " $ ( ( ( d1 - d2 ))) secondi differenza "

    Nelle prime due righe , il ` carattere non è un segno di citazione . Si tratta di un back -tick . È possibile individuare il carattere a sinistra del tasto "1" su una tastiera statunitense standard.

    L'output dovrebbe essere la differenza tra le due volte in pochi secondi . Se è necessario , è possibile convertire questo in minuti , ore, giorni , e così via , dividendo per il numero di secondi in un minuto , minuto in un'ora o di ore in un giorno .
    A Script

    Come sarebbe un fastidio di digitare i tre comandi lunghi ogni volta, è necessario incapsulare in una sceneggiatura . Aprite il vostro editor di testo preferito e incollare il seguente :

    # /usr /bin /env bash

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

    d2 = `date - data di $ 2 + % s`

    echo " $ ( ( ( d1 - d2 ))) secondi differenza "

    Questo cambia un paio di cose . La riga superiore consente la shell corrente sa che si scrive questo script per usare il linguaggio della shell "bash " . Come si sostituiscono le date dei due comandi di data con il "$ 1" e "$ 2 ", è possibile passare nuove date per lo script ogni volta che lo si esegue . Ancora una volta , nelle prime due righe , si utilizza il back- tick ` , non un solo preventivo.

    Salvare lo script con il nome di" timediff.sh " ed eseguire il comando " chmod + x timediff.sh . " nella shell Unix per far sapere che ha permesso di eseguire questo come script

    Dopo aver fatto questo , è possibile calcolare la differenza tra due date e gli orari digitando:

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

    Previous :

    next :
      Articoli Correlati
    ·Come controllare i processi in background in Unix 
    ·Vantaggi e svantaggi del sistema operativo Unix 
    ·Come combinare BackTrack 3 con un sistema operativo Uni…
    ·Unix Cron Tab Tutorial 
    ·Unix Cut Comando Tutorial 
    ·Come cercare e sostituire più file in UNIX 
    ·Come fare un tutorial Unix 
    ·Definizione di un alias in un ambiente UNIX 
    ·Come decomprimere un file ZIP in Unix 
    ·Unix Architettura Tutorial 
      Articoli in evidenza
    ·Qual è il comando net config server 
    ·Come Mostra icone nascoste su Vista 
    ·Come modificare NRG a ISO in Ubuntu 
    ·Come calibrare un controller Xbox per Windows Vista 
    ·Come creare partizioni in Windows XP 
    ·Problemi di connessione a un PC da un iMac 
    ·Come aggiornare il KWorld PlusTV DVD Maker USB 2.0 
    ·Come disattivare il touchpad Synaptics durante la digit…
    ·Come rimuovere Trendnet Wireless Utility 
    ·Come risolvere i problemi Perché il mio computer mostr…
    Copyright © Conoscenza Informatica http://it.wingwit.com