GNU/Linux >> Znalost Linux >  >> Linux

Formát data a času pro skript nebo proměnnou prostředí Linux

Zjistěte, jak formátovat datum a čas pro použití ve skriptu shellu nebo jako proměnnou spolu s různými příklady formátů.

Mnohokrát musíte ve skriptu shellu použít datum, např. pojmenovat soubor protokolu, předat jej jako proměnnou atd. Potřebujeme tedy jiný formát dat, který lze použít jako řetězec nebo proměnnou v našich skriptech. V tomto článku se podíváme, jak používat datum ve skriptu shellu a jaké všechny různé typy formátů můžete použít.

  • Zkontrolujte příkaz timedatectl pro snadnou správu data a času v systému Linux

Jak použít datum ve skriptu shellu?

Datum můžete použít vložením spuštění shellu do příkazu. Pokud například chcete vytvořit soubor protokolu vložením aktuálního data do něj, můžete to provést následujícím způsobem –

root@kerneltalks # echo test > /tmp/`date +%d`.txt
root@kerneltalks # ls -lrt
-rw-r--r--. 1 root  root     5 Sep 10 09:10 10.txt

V zásadě musíte předat identifikátor formátu s +% to date příkaz k získání požadovaného formátu výstupu. Existuje jiný zdroj příkazu data identifikátoru.

Můžete dokonce uložit konkrétní formát data do nějaké proměnné, jako je –

root@kerneltalks # MYDATE=`date +%d.%b.%Y`
root@kerneltalks # echo $MYDATE
10.Sep.2018

Různé formátové proměnné pro příkaz date

Tyto identifikátory formátu jsou z data příkazu man stránka :

%a     locale’s abbreviated weekday name (e.g., Sun)
%A     locale’s full weekday name (e.g., Sunday)
%b     locale’s abbreviated month name (e.g., Jan)
%B     locale’s full month name (e.g., January)
%c     locale’s date and time (e.g., Thu Mar  3 23:05:25 2005)
%C     century; like %Y, except omit last two digits (e.g., 20)
%d     day of month (e.g, 01)
%D     date; same as %m/%d/%y
%e     day of month, space padded; same as %_d
%F     full date; same as %Y-%m-%d
%g     last two digits of year of ISO week number (see %G)
%G     year of ISO week number (see %V); normally useful only with %V
%h     same as %b
%H     hour (00..23)
%I     hour (01..12)
%j     day of year (001..366)
%k     hour ( 0..23)
%l     hour ( 1..12)
%m     month (01..12)
%M     minute (00..59)
%N     nanoseconds (000000000..999999999)
%p     locale’s equivalent of either AM or PM; blank if not known
%P     like %p, but lower case
%r     locale’s 12-hour clock time (e.g., 11:11:04 PM)
%R     24-hour hour and minute; same as %H:%M
%s     seconds since 1970-01-01 00:00:00 UTC
%S     second (00..60)
%T     time; same as %H:%M:%S
%u     day of week (1..7); 1 is Monday
%U     week number of year, with Sunday as first day of week (00..53)
%V     ISO week number, with Monday as first day of week (01..53)
%w     day of week (0..6); 0 is Sunday
%W     week number of year, with Monday as first day of week (00..53)
%x     locale’s date representation (e.g., 12/31/99)
%X     locale’s time representation (e.g., 23:13:48)
%y     last two digits of year (00..99)
%Y     year
%z     +hhmm numeric timezone (e.g., -0400)
%:z    +hh:mm numeric timezone (e.g., -04:00)
%::z   +hh:mm:ss numeric time zone (e.g., -04:00:00)
%Z     alphabetic time zone abbreviation (e.g., EDT)

Pomocí kombinací výše uvedených můžete získat požadovaný formát data jako výstup pro použití ve skriptu shellu! Můžete dokonce použít %n pro nový řádek a %t pro přidání tabulátoru do výstupů, které většinou nejsou potřeba, protože je budete používat jako jeden řetězec.

Příklady různých formátů data

Pro vaše pohodlí a připravenost k použití jsem níže uvedl kombinace pro různé formáty data.

root@kerneltalks # date +%d_%b_%Y
10_Sep_2018

root@kerneltalks # date +%D
09/10/18

root@kerneltalks # date +%F-%T
2018-09-10-11:09:51

root@kerneltalks # echo today is  `date +%A`
today is Monday

root@kerneltalks # echo Its `date +%d` of `date +%B" "%Y` and time is `date +%r`
Its 10 of September 2018 and time is 11:13:42 AM

Linux
  1. Nastavte datum, čas a časové pásmo na serveru Linux

  2. Jak zobrazit datum a čas restartu systému Linux

  3. Variabilní rozsah pro skripty bash shell a funkce ve skriptu

  1. Jak porovnávat čísla a řetězce ve skriptu Linux Shell

  2. 7 Linux Date Příklady příkazů pro zobrazení a nastavení systémového data a času

  3. Nastavte systémové datum a čas pomocí C++ v Linuxu

  1. konvence pojmenování pro shell skript a makefile

  2. Zkopírujte a přepište soubor ve skriptu shellu

  3. Linuxový shell skript pro zálohování databáze