La date
commande affiche la date et l' heure actuelle comme ceci: Fri Apr 12 15:04:03 UTC 2013
.
Pour avoir la date et l'heure de sortie dans un format personnalisé, nous pouvons utiliser date +FORMAT
, par exemple, comme ceci: date "+%Y-%m-%dT%H:%M:%S%:z"
qui donne quelque chose comme 2013-04-12T15:04:37+00:00
.
Mais je veux savoir ce que le %Y
, %m
, %d
, %H
, %M
, %S
, etc. sont collectivement appelés (la terminologie). Aussi, quel est le T
nom, car il est différent des autres?
date
terminology
c'est moi
la source
la source
date
Et le« T »n'est qu'un« T »littéral.%Y
leur signification respective.date +"You will die in the year %Y"
T
n'est pas spécial. De plus, je passais une journée bizarre au travail quand je l'ai tapé (écouter les conversations de collègues).Réponses:
Le terme utilisé dans la spécification POSIX de la
date
commande est "spécifications de conversion".La chaîne de format pour la
date
commande est étroitement basée sur la chaîne de format pour laprintf
fonction de C ; la norme C se réfère également à des choses comme%d
«spécifications de conversion».T
non précédé d'%
un simple caractère: "Tous les autres caractères doivent être copiés dans la sortie sans modification."Selon la section de l'historique des modifications de la description POSIX de
date
:Ainsi, apparemment, une version antérieure de la spécification utilisait l'expression "descripteurs de champ", mais "spécifications de conversion" est le terme officiel actuel.
Bien sûr, cela ne signifie pas que vous devez vous y référer de cette façon.
la source
conversion sequences
" ou "format sequences
" sont-ils également appropriés? Je considéraissequences
plusspecifications
parce que il est effectivement mentionné dans la page de manueldate
.Je pense que les «séquences d'échappement» ou (dans ce cas) les «caractères spéciaux pour les séquences à pourcentage échappé» seraient la façon typique de s'y référer. Les séquences avec barre oblique inverse et pourcentage échappé sont très utilisées en C (par exemple printf), elles ont donc également filtré en plusieurs commandes Unix (comme en spécifiant l'invite pour le shell).
La "séquence d'échappement" étant "% Y", "% m", "% d" et ainsi de suite; et les "caractères spéciaux" étant "Y", "m", "d" et ainsi de suite. "%" serait le "caractère d'échappement" (le caractère qui donne au caractère suivant une signification inhabituelle / spéciale).
la source
Ce document du Centre d' information d'IBM indique clairement que les alphabets dans
%Y
,%m
,%d
,%H
,%M
,%S
, etc. sont appelés « Champ Descripteurs ».Cela répond à mes deux questions (environ% n & T). Et je crois que cela fait autant autorité que possible.
la source
date
commande; qu'est-ce qui fait que leur documentation fait autorité? Le comportement de la commande est actuellement défini par POSIX, qui n'utilise pas ce terme. L'historique des modifications au bas de la description POSIX indique "La DESCRIPTION est mise à jour pour faire référence aux spécifications de conversion, au lieu des descripteurs de champ pour la cohérence avec la catégorie LC_TIME.", Ce qui implique que "spécification de conversion", et non "diescriptor de champ" est la bonne terme en cours. Voir aussi ma réponse mise à jour.Comme d'autres l'ont dit,
T
c'est une lettre littéraleT
. Mais pour être précis, votre exempledate "+%Y-%m-%dT%H:%M:%S%:z"
semble être une chaîne de format conforme à la spécification ISO-8601 pour la date et l'heure. Voici doncT
un délimiteur qui sépare la date de l'heure.la source