Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Systems  
  • Grunnleggende datakunnskaper
  • Linux
  • Mac OS
  • Ubuntu
  • Unix
  • Windows
  • Windows Vista
  • Windows XP
  •  
    Datamaskin >> Systems >> Unix >> Content
    Hvordan finne Tidsforskjell i Unix Script
    Hvis du trenger å finne forskjellen mellom to klokkeslett , enten de variere fra bare noen få sekunder eller år , kan du gjøre dette i GNU versjon av Unix med "date "-kommandoen . Imidlertid er prosedyren ikke er intuitivt , som datoen kommandoen ikke gir direkte et flagg eller argument for denne prosedyren . I tillegg flere versjoner av date-kommandoen eksisterer i Unix . Merk at det som fungerer i GNU versjonen av date-kommandoen vil ikke fungere med BSD -versjonen . Unix Epoch

    Nøkkelen til å løse dette problemet er å forstå hvordan datamaskinen faktisk holder styr på tiden. En Unix datamaskin lagrer alle ganger som antall sekunder som har gått siden den Unix Epoch . Unix Epoch er midnatt 1. januar 1970.
    Å få sekunder Siden Unix Epoch

    Du kan få antall sekunder siden Unix Epoch til en gitt dato hjelp av en kombinasjon av " + % s" flagg og " - dato "-kommandoen . Skriv inn følgende i et skall for å få antall sekunder fra Unix Epoch til 11 mars 2011 : en

    dato - dato 2011-03-11 + % s

    Resultatet vil bli : 1299823200 . Du kan bruke hvilken som helst dato -time format som du kan analysere ved "date "-kommandoen i dette skriptet . Du kan skrive "man date" inn i skallet for å lese om alle de gyldige datoformatene .
    Løsningen
    p Som du kan ta en gitt dato eller tid i en Unix kompatibelt format og konvertere den til sekunder før eller siden Unix Epoch , kan du finne forskjellen mellom to ganger ved å trekke resultatene av to av disse kommandoene.

    Skriv inn følgende kommandoer i din shell:

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

    d2 = ` date - dato 2010-05-12 + % s `
    < p> echo " $ ( ( ( d1 - d2 ) ) ) sekunder forskjell"

    i de to første linjene , er ` tegnet ikke et sitat mark . Det er en back -tick . Du kan finne dette tegnet til venstre for " 1 "-tasten på et standard norsk tastatur .

    Utgangen skal være forskjellen mellom de to ganger i løpet av sekunder . Hvis du trenger, kan du konvertere dette til minutter, timer , dager og så videre ved å dividere med antall sekunder i et minutt , minutter i en time eller timer på en dag .
    Et skript

    Som det ville være tungvint å skrive ut disse tre lange kommandoer hver gang , bør du kapsle det inn i et skript. ! Åpne din favoritt teksteditor og lim inn følgende : en

    # /usr /bin /env bash

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

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

    echo " $ ( ( ( d1 - d2 ) ) ) sekunder forskjell"

    Dette endrer noen ting . Den øverste linjen lar den nåværende skall vet at du skriver dette skriptet til å bruke språket i " bash " shell . Som du erstatte datoer i de to datokommandoene med " $ 1 " og " $ 2 ", kan du passere nye datoer til skriptet hver gang du kjører den . Igjen , i de to første linjene , bruker du tilbake -tick ` , ikke et eneste sitat.

    Lagre skriptet med navnet" timediff.sh "og kjøre kommandoen" chmod + x timediff.sh . "i skallet for å la Unix vet at det har tillatelse til å kjøre dette som et skript

    Når du gjør dette , kan du finne forskjellen mellom to datoer og klokkeslett ved å skrive : en

    . /timediff.sh 2010-9-13 1981-1-14

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan slette en Swap i Unix Med CentOS 
    ·Hvordan Hack UNIX 
    ·Hvordan gjøre en Print Screen i Unix 
    ·Slik konverterer en dato til Unix tidsstempel i COBOL 
    ·Hvordan sjekke om Running Jobber i bakgrunnen i Unix 
    ·Hvordan lage en ny fil i Unix 
    ·Slik konverterer en dato i et Unix Time Stamp 
    ·Forensic UNIX Tools 
    ·Hvordan Start Activity Monitor Via en Unix Command 
    ·Unix operativsystem komponenter 
      Anbefalte artikler
    ·Hvordan avinstallere Vista Transformation Pack 8 
    ·Slik endrer du Splash Screen i Windows XP 
    ·Tutorial for en oppstartbar Windows XP CD IMG Fil 
    ·Hvordan Start på nytt i sikkermodus i XP Home 
    ·Slik reparerer Diskdefragmentering i Windows Vista 
    ·Slik defragmenterer bestemte filer 
    ·Hvordan sette DirectX 9 på Ubuntu 
    ·Hvordan brenne en ISO Image i Windows XP 
    ·System 32 Korrupte Folder Problemer 
    ·Hvordan å bedra å konsolidere Free Space 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/