Hur man hittar gårdagens datum i Bash

Hur Man Hittar Gardagens Datum I Bash



Bourne Again Shell även känd som Våldsamt slag kommer med olika kommandoradsverktyg för att manipulera och automatisera uppgifter. Ett sådant verktyg är datum kommando, som används för att hämta datum/tid och manipulera det. Använda datum kommando kan du också få gårdagens datum för att använda det i Bash-skript.

Att få gårdagens datum kan vara användbart för att generera rapporter, datahantering och schemaläggningsuppgifter.







I den här handledningen kommer jag att utforska hur man använder kommandot datum för att få gårdagens datum i Bash.



Vad är kommandot Bash date
Hur man hittar gårdagens datum i Bash på Linux
1. Hitta gårdagens datum med alternativen -d eller – –datum



Hitta gårdagens datum med EPOCHSECONDS
Hur man hittar gårdagens datum i Bash på macOS
Slutsats





Vad är kommandot Bash date

Datumkommandot i Bash visar datum och tid i terminalen. Den kan också användas för att ställa in, ändra eller skriva ut datum och tid i olika format. Datumkommandot är mycket användbart för att automatisera och schemalägga uppgifter i Bash-skript.

För att få aktuellt datum och tid, skriv helt enkelt in datum i terminalen:



datum



Använd följande kommando för att få datumet i formatet ÅÅÅÅ-MM-DD:

datum + '%Y/%m/%d'



Du kan använda streck (-) i stället för snedstreck (/) i kommandot ovan.

Vanliga formatkontrolltecken listas nedan:

%d Visar dagen i månaden; till exempel: 02 eller 03.
%D Visar datumet i formatet Månad-Dag-År.
%m Visar månaden; till exempel: 01-12
%i Visar veckodag: till exempel: 1-7. 1 är måndag, 4 är torsdag.
%I Visar veckonummer för året. Till exempel, 00-53, 00 är årets första vecka, 01 är årets andra vecka.
%j Visar dagen på året; till exempel är 001 den första dagen på året 366 är den sista dagen.

För mer information, kör följande kommando för att komma åt manualsidan för datumkommandot:

man datum


Ett annat viktigt alternativ som följer med datum kommandot är -d eller - -datum . Genom att använda dessa alternativ kan vi få tidigare datum, framtida datum och till och med gårdagens. Dessa alternativ används för att visa tid i form av strängar. Till exempel:

datum --datum 'förra lördagen'



Eller:

datum -d 'förra lördagen'



Vilka är de andra strängarna som -d eller – –date alternativ kan acceptera nämns nedan:

    • i morgon
    • i går
    • förra lördagen
    • nästa lördag
    • förra veckan
    • nästa vecka
    • förra året
    • nästa år
    • X sek sedan
    • X dag sedan
    • X vecka sedan
    • X år sedan
    • X dagar
    • X vecka
    • X år

I nästa avsnitt kommer jag att använda -d och - -datum alternativ för att hitta gårdagens datum.

Hur man hittar gårdagens datum i Bash på Linux

För att hitta gårdagens datum i Bash finns det flera sätt. Jag kommer att diskutera varje metod:

    • Hitta gårdagens datum med alternativen -d eller – –date
    • Hitta gårdagens datum med EPOCHSECONDS

Notera: Att hitta gårdagens datum beror på systemets datumfunktioner.

1. Hitta gårdagens datum med alternativen -d eller ––datum

För att få gårdagens datum i Bash använd följande kommando:

datum -d '1 dag sedan'



Eller använd:

datum --datum '1 dag sedan'



De 1 dag sedan sträng kan också ersättas med -1 dag.

datum --datum '-1 dag'



Du kan också formatera datumet med formattecken.

datum --datum '1 dag sedan' + '%Y/%m/%d'



Ett annat sätt att få gårdagens datum i bash är att använda gårdagens sträng med -d eller - -datum alternativ.

datum --datum 'i går'



För att formatera den i ÅÅÅÅ/MM/DD använd följande kommando:

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


Vilka är begränsningarna för alternativen -d eller – –date i Linux

Alternativen -d eller – –datum ger dig gårdagens datum men dessa alternativ har vissa begränsningar. Dessa alternativ övervägs inte Sommartid eller Sommartid medan du ger utdata och lita på den aktuella tidszonen. Datumkommandot subtraherar helt enkelt de 24 timmarna från det aktuella datumet och tiden för att ge gårdagens utdata, vilket eliminerar hänsyn till sommartid.

Ett sätt att undvika en sådan situation är att använda UTC (-u flagga) tid, som inte förlitar sig på den lokala tidszonen för att beräkna gårdagens datum och ger utdata enligt en fast tidszon. Använd flaggan -u med datumkommandot:

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


2. Hitta gårdagens datum med EPOCHSECONDS

Gårdagens datum kan också hittas med EPOCHSECONDS. För att hitta gårdagens datum, kör följande kommando:

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


Så här skriver du ut gårdagens datumkörning:

eko $igår



Detta kommando beräknar datumet för föregående datum med hjälp av EPOCHSECONDS och tilldelar det till i går variabel i ÅÅÅÅ-MM-DD formatera. EPOCHSECONDS är antalet sekunder sedan 1 januari 1970, där 86400 anger antalet sekunder per dag.

Hur man hittar gårdagens datum i Bash på macOS

Även om macOS kommer med Zsh som standardskal, föredrar många fortfarande Bash som används flitigt. Datumkommandot i macOS stöder inte i går syntax, därför är proceduren för att få gårdagens datum på macOS lite annorlunda.

I macOS är datum kommandot används för att hitta gårdagens datum.

datum -v-1d



För att få gårdagens datum i ett specifikt format på macOS, använd:

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



Flaggan -v används för att justera tid och datum; till exempel: om du vill ha ett datum från föregående dag, använd 1 d med ett minus ( ) skylt. För att få datumet för nästa dag, använd bara plus ( + ) skylt. Här representerar d dagar från 1-31. För mer information, kör följande kommando i macOS bash-terminalen:

man datum


Notera: -v-flaggan är specifik för macOS och kanske inte fungerar på andra operativsystem som Linux.

Slutsats

Du måste arbeta med datum och tid för att schemalägga uppgifter, skapa rapporter och säkerhetskopiera data som systemadministratör. För att få gårdagens datum i Linux-systemet kan du använda kommandot date med -d eller - -datum flaggor. I macOS används även datumkommandot men med en -i flagga och ett positivt eller negativt heltal med d karaktär.