Sådan finder du gårsdagens dato i Bash

Sadan Finder Du Garsdagens Dato I Bash



Bourne Again Shell også kendt som Bash leveres med forskellige kommandolinjeværktøjer til at manipulere og automatisere opgaver. Et sådant værktøj er dato kommando, som bruges til at hente dato/klokkeslæt og manipulere den. Bruger dato kommando, kan du også få gårsdagens dato for at bruge den i Bash-scripts.

At få gårsdagens dato kan være nyttigt for at generere rapporter, datastyring og planlægningsopgaver.







I denne tutorial vil jeg undersøge, hvordan du bruger datokommandoen til at få gårsdagens dato i Bash.



Hvad er Bash date Command
Sådan finder du gårsdagens dato i Bash på Linux
1. Find gårsdagens dato ved hjælp af -d eller – –dato-indstillinger



Find gårsdagens dato ved hjælp af EPOCHSECONDS
Sådan finder du gårsdagens dato i Bash på macOS
Konklusion





Hvad er Bash date Command

Dato-kommandoen i Bash viser dato og klokkeslæt i terminalen. Den kan også bruges til at indstille, ændre eller udskrive dato og klokkeslæt i forskellige formater. Dato-kommandoen er meget nyttig til at automatisere og planlægge opgaver i Bash-scripting.

For at få den aktuelle dato og klokkeslæt skal du blot skrive dato i terminalen:



dato



Brug følgende kommando for at få datoen i formatet ÅÅÅÅ-MM-DD:

dato + '%Y/%m/%d'



Du kan bruge bindestreger (-) i stedet for skråstreger (/) i kommandoen ovenfor.

Almindelig anvendte formatkontroltegn er angivet 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 ugedagen: for eksempel: 1-7. 1 er mandag, 4 er torsdag.
%I Viser årets ugenummer. For eksempel er 00-53, 00 er årets første uge, 01 er årets anden uge.
%j Viser dagen på året; for eksempel er 001 den første dag i året 366 er den sidste dag.

For flere detaljer skal du udføre følgende kommando for at få adgang til manualsiden for datokommandoen:

mand dato


En anden vigtig mulighed, der følger med dato kommando er -d eller – –dato . Ved at bruge disse muligheder kan vi få tidligere datoer, fremtidige datoer og endda gårsdagens. Disse muligheder bruges til at vise tid givet i form af strenge. For eksempel:

dato --dato 'sidste lørdag'



Eller:

dato -d 'sidste lørdag'



Hvad er de andre strenge, som -d eller – –date muligheder kan acceptere, er nævnt nedenfor:

    • i morgen
    • i går
    • sidste lørdag
    • næste lørdag
    • sidste uge
    • næste uge
    • sidste år
    • næste år
    • X sek siden
    • X dag siden
    • X uge siden
    • X år siden
    • X dage
    • X uge
    • X år

I næste afsnit vil jeg bruge -d og – –dato muligheder for at finde gårsdagens dato.

Sådan finder du gårsdagens dato i Bash på Linux

For at finde gårsdagens dato i Bash er der flere måder. Jeg vil diskutere hver metode:

    • Find gårsdagens dato ved hjælp af -d eller - -dato-indstillinger
    • Find gårsdagens dato ved hjælp af EPOCHSECONDS

Bemærk: At finde gårsdagens dato afhænger af systemets datofunktioner.

1. Find gårsdagens dato ved hjælp af -d eller ––dato indstillinger

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

dato -d '1 dag siden'



Eller brug:

dato --dato '1 dag siden'



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

dato --dato '-1 dag'



Du kan også formatere datoen ved at bruge formateringstegn.

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



En anden måde at få gårsdagens dato i bash er at bruge i går-strengen med -d eller – –dato muligheder.

dato --dato 'i går'



For at formatere den i ÅÅÅÅ/MM/DD, brug følgende kommando:

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


Hvad er begrænsningerne for -d eller – –date muligheder i Linux

Indstillingerne -d eller - -dato giver dig gårsdagens dato, men disse muligheder har nogle begrænsninger. Disse muligheder overvejer ikke Sommertid eller DST mens du giver output og stole på den aktuelle tidszone. Datokommandoen trækker simpelthen de 24 timer fra den aktuelle dato og klokkeslæt for at give gårsdagens output, hvilket eliminerer DST-overvejelsen.

En tilgang til at undgå en sådan situation er at bruge UTC (-u flag) tid, som ikke er afhængig af den lokale tidszone til at beregne gårsdagens dato og giver output i henhold til en fast tidszone. Brug flaget -u med datokommandoen:

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


2. Find gårsdagens dato ved hjælp af EPOCHSECONDS

Gårsdagens dato kan også findes ved hjælp af EPOCHSECONDS. For at finde gårsdagens dato skal du udføre følgende kommando:

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


Sådan udskrives gårsdagens datokørsel:

ekko $ i går



Denne kommando beregner datoen for den foregående dato ved hjælp af EPOCHSECONDS og tildeler den til i går variabel i ÅÅÅÅ-MM-DD format. EPOCHSECONDS er antallet af sekunder siden 1. januar 1970, hvor 86400 angiver antallet af sekunder pr. dag.

Sådan finder du gårsdagens dato i Bash på macOS

Selvom macOS kommer med Zsh som standardskal, foretrækker mange stadig Bash, som er meget brugt. Dato-kommandoen i macOS understøtter ikke i går syntaks, derfor er proceduren for at få gårsdagens dato på macOS en smule anderledes.

I macOS er dato kommandoen bruges til at finde gårsdagens dato.

dato -v-1d



For at få gårsdagens dato i et bestemt format på macOS skal du bruge:

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



-v flaget bruges til at justere tid og dato; for eksempel: hvis du ønsker en dato fra den foregående dag, skal du bruge 1 d med et minus ( ) skilt. For at få datoen for næste dag skal du blot bruge plus ( + ) skilt. Her repræsenterer d dage fra 1-31. For flere detaljer skal du udføre følgende kommando i macOS bash-terminalen:

mand dato


Bemærk: -v-flaget er specifikt for macOS og virker muligvis ikke på andre operativsystemer såsom Linux.

Konklusion

Du skal arbejde med dato og klokkeslæt for at planlægge opgaver, oprette rapporter og sikkerhedskopiere data som systemadministrator. For at få gårsdagens dato i Linux-systemet kan du bruge datokommandoen med -d eller – –dato flag. I macOS bruges også datokommandoen, men med en -i flag og et positivt eller negativt heltal med d Karakter.