Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
System
  • Grundläggande datorkunskaper
  • Linux
  • Mac OS
  • Ubuntu
  • Unix
  • Windows
  • Windows Vista
  • Windows XP
  • * Dator Kunskap >> System >> Unix >> Content

    Hur hittar Tidsskillnad i Unix Script

    Om du behöver hitta skillnaden mellan två tider , oavsett om de skiljer sig med endast ett par sekunder eller år , kan du göra detta i GNU version av Unix med " datum " kommandot . Däremot är förfarandet inte intuitivt , eftersom kommandot date inte direkt ger en flagga eller argument för detta förfarande . Dessutom , flera versioner av kommandot date existerar i Unix . Observera att det som fungerar i GNU-versionen av kommandot date fungerar inte med BSD versionen . Unix Epoch

    Nyckeln till att lösa detta problem är att förstå hur datorn faktiskt håller reda på tiden . En Unix-dator lagrar alla gånger som det antal sekunder som gått sedan den Unix Epoch . Den Unix Epoch är midnatt den 1 januari 1970.
    Få sekunderna Eftersom Unix Epoch

    Du kan få antalet sekunder sedan Unix Epoch till en given dag med en kombination av " + % s " flaggan och " - datumet " kommandot . Skriv följande i ett skal för att få antalet sekunder från Unix Epoch till 11 Mars 2011 :

    datum - Datum 2011-03-11 + % s

    Resultatet blir : 1299823200 . Du kan använda alla datum - tid format som du kan analysera med " datum " -kommandot i det här skriptet . Du kan skriva "man date" i ditt skal för att läsa om alla giltiga datumformat .
    Lösningen

    Som du kan ta ett visst datum eller tid i ett Unix -kompatibelt format och konvertera det till sekunder innan eller sedan Unix Epoch , kan du se skillnaden mellan två gånger genom att subtrahera resultaten av två av dessa kommandon .

    Skriv följande kommandon i din shell :

    d1 = ` datum - datum 2011-03-11 + % s `

    d2 = ` datum - datum 2010-05-12 + % s `

    echo " $ ( ( ( D1-D2 ) ) ) sekunder skillnad "

    Under de två första raderna , är det så kallade karaktär inte ett citattecken . Det är en back- fästing. Du kan hitta den här tecknet till vänster om " 1 " knappen på en vanlig amerikanskt tangentbord .

    Utgången bör vara skillnaden mellan de två gånger på några sekunder . Om du behöver , kan du omvandla detta till minuter , timmar, dagar, och så vidare genom att dividera med antalet sekunder i en minut , minuter på en timme eller timmar på en dag .
    A Script

    Eftersom det skulle vara en olägenhet att skriva ut de tre långa kommandon varje gång , bör du kapsla in den i ett manus . ! Öppna din favorit texteditor och klistra in följande :

    # /usr /bin /env bash
    D1

    = ` datum - datum $ 1 + % s `

    d2 = ` datum - datum $ 2 + % s `

    echo " $ ( ( ( D1-D2 ) ) ) sekunder skillnad "

    Detta ändrar några saker . Den översta raden låter det aktuella skalet vet att du skriver detta skript för att använda språket i " bash " shell . När du byter datum på de två datumkommandona med " $ 1" och "$ 2 ", du kan skicka nya datum till skriptet varje gång du kör det . Återigen , i de två första raderna , använder du back- fästingen ` , inte ett enda citat .

    Spara skriptet med namnet " timediff.sh " och kör kommandot " chmod + x timediff.sh . " in ditt skal för att låta Unix veta att den har behörighet att köra detta som ett skript

    när du gör detta , kan du se skillnaden mellan två datum och tider genom att skriva:

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

    Tidigare:

    nästa:
    relaterade artiklar
    ·Unix Arkitektur Tutorial
    ·Hur Till Ändra användare i Unix
    ·Hur Namnge en Unix -fil med ett Datumstämpel
    ·Hur visa ZIP-filer i Unix
    ·Hur man hittar en MAC-adress i Unix
    ·Ställa en Unix Datum
    ·Typer av UNIX-plattformar
    ·Hur man kan eliminera Permission denied meddelanden på…
    ·Hur man byter en flik med ett kommatecken i Unix
    ·Hur hitta antalet rader i en fil för Unix
    Utvalda artiklarna
    ·Hur man kör en DLL som en App Theme
    ·Ställa upp en dialogruta
    ·Hur man installerar XP på en Toshiba Satellite A300
    ·Tips om installation av Windows XP SP2
    ·Hur får man en Windows XP Home Edition Validerad
    ·Hur man installerar fönsterlister på Casement Windows…
    ·Hur man tar bort File Encryption
    ·Hur man ta bort bilder och låtar från en MP3-spelare
    ·Adobe Standard Update Installation
    ·Avinstallera och installera Windows XP på min laptop
    Copyright © Dator Kunskap http://www.dator.xyz