| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
systemer  
  • Basale computerfærdigheder
  • Linux
  • Mac OS
  • Ubuntu
  • Unix
  • Windows
  • Windows Vista
  • Windows XP
  •  
    Computer Viden >> systemer >> Unix >> Content
    Sådan Find Tidsforskel i Unix Script
    Hvis du har brug for at finde forskellen mellem to gange , uanset om de adskiller sig ved kun et par sekunder, eller år , kan du gøre dette i GNU versionen af ​​Unix med "date" kommandoen . Men proceduren er ikke intuitiv, som den dato kommandoen ikke direkte giver et flag eller argument for denne procedure. Endvidere findes flere versioner af den dato kommandoen i Unix. Bemærk, at hvad der virker i GNU versionen af ​​dato kommandoen vil ikke arbejde med BSD -version. Unix Epoch

    Nøglen til at løse dette problem er at forstå hvordan computeren faktisk holder styr på tiden. En Unix computer gemmer alle gange som antallet af sekunder, der er gået siden Unix Epoch . Unix Epoch er midnat 1. januar 1970.
    At få sekunder Siden Unix Epoch
    p Du kan få antallet af sekunder siden Unix Epoch til en given dato ved hjælp af en kombination af " + % s" flaget og " - date " kommando . Skrive følgende ind i en shell for at få antallet af sekunder fra Unix Epoch til 11 Marts 2011 : Hej

    date - date 2011-03-11 + % s

    Resultatet vil være : 1299823200 . Du kan bruge hvilken som helst dato - tid format, du kan tolke med " date" kommandoen i dette script. Du kan skrive "man date " i din shell for at læse om alle de gyldige datoformater .
    Løsningen

    Som du kan tage en given dato eller tid i en Unix kompatibelt format og konvertere den til sekunderne før eller siden Unix Epoch , kan du finde forskellen mellem to gange ved at trække resultaterne af to af disse kommandoer.

    skrive følgende kommandoer i din shell :

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

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

    i de første to linjer , den ` karakter er ikke et citat mærke. Det er en back- kryds. Du kan finde denne karakter til venstre for "1 " tasten på en standard amerikansk tastatur .

    Produktionen skal være forskellen mellem de to gange på få sekunder. Hvis du har brug for , kan du konvertere dette til minutter, timer , dage og så videre ved at dividere med antallet af sekunder i et minut , minutter på en time eller timer på en dag.
    A Script

    Da det ville være en plage at skrive ud af disse tre lange kommandoer hver gang , bør du indkapsle det i et script. ! Åbn din foretrukne teksteditor og indsæt følgende : Hej

    # /usr /bin /env bash

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

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

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

    Dette ændrer et par ting. Den øverste linje lader aktuelle shell vide, at du skriver dette script til at bruge sproget i " bash " shell . Når du erstatter datoerne i de to datokommandoer med "$ 1" og "$ 2 ", kan du passere nye datoer til scriptet , hver gang du kører det. Igen i de første to linjer , kan du bruge back -tick ` , ikke ét tilbud.

    Gem dit script med navnet " timediff.sh "og køre kommandoen" chmod + x timediff.sh . "i din shell til at lade Unix vide, at det har tilladelse til at køre dette som et script

    Når du gør dette, kan du finde forskellen mellem to datoer og tidspunkter ved at skrive : Hej

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

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan forespørges XL projektmappe fra Unix 
    ·Script Unix Tutorial 
    ·Hvordan man skriver et script i Unix 
    ·Sådan se Zombie Processer i UNIX 
    ·Opbygning af Unix Operating System 
    ·Sådan Unzip flere filer ved at Mask i UNIX 
    ·Sådan Planlæg et job i Unix 
    ·Sådan Konverter Unix skrifttype til Mac 
    ·Sådan Hack UNIX 
    ·Sådan Lås en gruppe mappe i Unix 
      Anbefalede Artikler
    ·Sådan fjerner Bad gendannelsespunkter i Windows 
    ·Sådan tilmelder du dig Iexplore.exe 
    ·Sådan Load 64 Bit Snow Leopard efter Standard 
    ·Sådan Rip en DAT fil 
    ·Sådan Ikke Hibernate en bærbar når du henter Er On 
    ·Sådan kapre æg ved hjælp af en vand bakke 
    ·Sådan læses en PRN-fil 
    ·Hvad er Linux på en computer 
    ·Sådan Tweak XP Dial Up Modem Registry 
    ·Hvordan at slippe af XMFan.exe 
    Copyright © Computer Viden http://www.computerdk.com