GNU/Linux >> Tutoriels Linux >  >> Linux

Formater la date et l'heure pour le script ou la variable du shell Linux

Apprenez à formater la date et l'heure à utiliser dans un script shell ou en tant que variable avec différents exemples de format.

Il y a plusieurs fois où vous devez utiliser la date dans votre script shell, par exemple. pour nommer le fichier journal, pour le transmettre en tant que variable, etc. Nous avons donc besoin d'un format de date différent pouvant être utilisé comme chaîne ou variable dans nos scripts. Dans cet article, voyons comment utiliser la date dans un script shell et quels sont les différents types de formats que vous pouvez utiliser.

  • Vérifiez la commande timedatectl pour gérer facilement la date et l'heure sous Linux

Comment utiliser la date dans un script shell ?

Vous pouvez utiliser la date en insérant l'exécution du shell dans la commande. Par exemple, si vous souhaitez créer un fichier journal en y insérant la date actuelle, vous pouvez le faire de la manière suivante -

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

Fondamentalement, vous devez passer l'identifiant de format avec +% to date pour obtenir le format de sortie souhaité. Il existe une autre fourniture de commande de date d'identification.

Vous pouvez même enregistrer un format de date spécifique dans une variable telle que –

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

Variables de format différent pour la commande de date

Ces identifiants de format proviennent de la commande de date man page :

%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)

En utilisant les combinaisons ci-dessus, vous pouvez obtenir le format de date souhaité en sortie à utiliser dans le script shell ! Vous pouvez même utiliser %n pour nouvelle ligne et %t pour ajouter un onglet dans les sorties qui ne sont généralement pas nécessaires puisque vous l'utiliserez comme une seule chaîne.

Différents exemples de format de date

Pour votre commodité et prêt à l'emploi, j'ai répertorié ci-dessous des combinaisons pour différents formats de date.

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. Comment afficher la date et l'heure de redémarrage du système Linux

  2. convention de nommage pour le script shell et le makefile

  3. Script shell Linux pour la sauvegarde de la base de données

  4. Portée variable pour les scripts shell bash et les fonctions dans le script

  5. Définir la date et l'heure du système à l'aide de C++ sous Linux

Comment trouver la date et l'heure exactes d'installation de votre système d'exploitation Linux

Comment stocker une commande Linux en tant que variable dans un script shell

Comment trouver la date et l'heure d'installation du système d'exploitation Linux

Comment définir la date et l'heure sous Linux

Imprimer le temps d'exécution du script Shell sous Linux

Comment changer la date, l'heure et le fuseau horaire dans Linux Mint 20