Hvordan finne gårsdagens dato i Bash

Hvordan Finne Garsdagens Dato I Bash



Bourne Again Shell også kjent som Bash kommer med ulike kommandolinjeverktøy for å manipulere og automatisere oppgaver. Et slikt verktøy er Dato kommando, som brukes til å hente dato/klokkeslett og manipulere den. Bruker Dato kommando, kan du også få gårsdagens dato for å bruke den i Bash-skript.

Å få gårsdagens dato kan være nyttig for å generere rapporter, databehandling og planlegge oppgaver.







I denne opplæringen vil jeg utforske hvordan du bruker datokommandoen for å få gårsdagens dato i Bash.



Hva er Bash date-kommandoen
Hvordan finne gårsdagens dato i Bash på Linux
1. Finne gårsdagens dato ved hjelp av alternativene -d eller – –dato



Finne gårsdagens dato ved å bruke EPOCHSECONDS
Hvordan finne gårsdagens dato i Bash på macOS
Konklusjon





Hva er Bash date-kommandoen

Dato-kommandoen i Bash viser dato og klokkeslett i terminalen. Den kan også brukes til å angi, endre eller skrive ut dato og klokkeslett i forskjellige formater. Dato-kommandoen er veldig nyttig for å automatisere og planlegge oppgaver i Bash-skripting.

For å få gjeldende dato og klokkeslett, skriv ganske enkelt inn Dato i terminalen:



Dato



For å få datoen i formatet ÅÅÅÅ-MM-DD, bruk følgende kommando:

Dato + '%Y/%m/%d'



Du kan bruke bindestreker (-) i stedet for skråstreker (/) i kommandoen ovenfor.

Vanlig brukte formatkontrolltegn er oppført nedenfor:

%d Viser dagen i måneden; for eksempel: 02 eller 03.
%D Viser datoen i måned-dag-år-format.
%m Viser måneden; for eksempel: 01-12
%i Viser ukedagen: for eksempel: 1-7. 1 er mandag, 4 er torsdag.
%I Viser årets ukenummer. For eksempel, 00-53, 00 er den første uken i året, 01 er den andre uken i året.
%j Viser dagen i året; for eksempel er 001 den første dagen i året 366 er den siste dagen.

For mer informasjon, kjør følgende kommando for å få tilgang til manualsiden til datokommandoen:

Mann Dato


Et annet viktig alternativ som følger med Dato kommandoen er -d eller - -Dato . Ved å bruke disse alternativene kan vi få tidligere datoer, fremtidige datoer og til og med gårsdagens. Disse alternativene brukes til å vise tid gitt i form av strenger. For eksempel:

Dato --Dato 'sist lørdag'



Eller:

Dato -d 'sist lørdag'



Hva er de andre strengene som -d eller – –date alternativer kan godta, er nevnt nedenfor:

    • i morgen
    • i går
    • sist lørdag
    • neste lørdag
    • forrige uke
    • neste uke
    • i fjor
    • neste år
    • X sek siden
    • X dag siden
    • X uke siden
    • X år siden
    • X dager
    • X uke
    • X år

I neste avsnitt vil jeg bruke -d og - -Dato alternativer for å finne gårsdagens dato.

Hvordan finne gårsdagens dato i Bash på Linux

For å finne gårsdagens dato i Bash er det flere måter. Jeg vil diskutere hver metode:

    • Finne gårsdagens dato ved å bruke -d eller – –dato-alternativer
    • Finne gårsdagens dato ved å bruke EPOCHSECONDS

Merk: Å finne gårsdagens dato avhenger av systemets datofunksjoner.

1. Finne gårsdagens dato ved hjelp av alternativene -d eller ––dato

For å få gårsdagens dato i Bash, bruk følgende kommando:

Dato -d '1 dag siden'



Eller bruk:

Dato --Dato '1 dag siden'



De 1 dag siden streng kan også erstattes med -1 dag.

Dato --Dato '-1 dag'



Du kan også formatere datoen ved å bruke formattegn.

Dato --Dato '1 dag siden' + '%Y/%m/%d'



En annen måte å få gårsdagens dato i bash er å bruke i går-strengen med -d eller - -Dato alternativer.

Dato --Dato 'i går'



For å formatere den i ÅÅÅÅ/MM/DD, bruk følgende kommando:

Dato --Dato 'i går' + '%Y/%m/%d'


Hva er begrensningene for -d eller – –date-alternativene i Linux

Alternativene -d eller - -dato gir deg gårsdagens dato, men disse alternativene har noen begrensninger. Disse alternativene vurderes ikke Sommertid eller DST mens du gir utdata og stoler på gjeldende tidssone. Datokommandoen trekker ganske enkelt de 24 timene fra gjeldende dato og klokkeslett for å gi gårsdagens utgang, noe som eliminerer sommertid-betraktningen.

En tilnærming for å unngå en slik situasjon er å bruke UTC (-u flagg) tid, som ikke er avhengig av den lokale tidssonen for å beregne gårsdagens dato og gir utdata i henhold til en fast tidssone. Bruk -u-flagget med datokommandoen:

Dato -i --Dato 'i går' + '%Y-%m-%d'


2. Finne gårsdagens dato ved å bruke EPOCHSECONDS

Gårsdagens dato kan også bli funnet ved å bruke EPOCHSECONDS. For å finne gårsdagens dato, utfør følgende kommando:

printf -i i går '%(%Y/%m/%d)T' $ ( ( EPOKSEKUNDER – 86400 ) )


Slik skriver du ut gårsdagens datokjøring:

ekko $i går



Denne kommandoen beregner datoen for forrige dato ved å bruke EPOCHSECONDS og tilordner den til i går variabel i ÅÅÅÅ-MM-DD format. EPOKSECONDS er antall sekunder siden 1. januar 1970, der 86400 betyr antall sekunder per dag.

Hvordan finne gårsdagens dato i Bash på macOS

Selv om macOS kommer med Zsh som standard skall, foretrekker mange fortsatt Bash som er mye brukt. Dato-kommandoen i macOS støtter ikke i går syntaks, derfor er prosedyren for å få gårsdagens dato på macOS litt annerledes.

I macOS er Dato kommandoen brukes til å finne gårsdagens dato.

Dato -v-1d



For å få gårsdagens dato i et spesifikt format på macOS, bruk:

Dato -v-1d + '%Y/%m/%d'



-v-flagget brukes til å justere klokkeslett og dato; for eksempel: hvis du vil ha en dato fra forrige dag, bruk 1 d med minus ( ) tegn. For å få datoen for neste dag, bruk bare pluss ( + ) tegn. Her representerer d dager fra 1-31. For mer informasjon, kjør følgende kommando i macOS bash-terminalen:

Mann Dato


Merk: -v-flagget er spesifikt for macOS og fungerer kanskje ikke på andre operativsystemer som Linux.

Konklusjon

Du må jobbe med dato og klokkeslett for å planlegge oppgaver, lage rapporter og sikkerhetskopiere data som systemadministrator. For å få gårsdagens dato i Linux-systemet kan du bruke datokommandoen med -d eller - -Dato flagg. I macOS brukes også datokommandoen, men med en -i flagg og et positivt eller negativt heltall med d karakter.