GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer les zéros non significatifs de la sortie de "date" ou éviter l'interprétation octale de ces nombres décimaux ?

J'ai ceci :

date +"%H hours and %M minutes"

J'utilise festival pour le dire... mais ça dit comme :"zéro neuf heures".. Je veux qu'il dise "neuf heures" !

mais la date me donne toujours 09… alors je me demande si bash peut facilement faire en sorte que cela devienne juste 9 ?

dans le script complexe que j'ai essayé comme

printf %d 09

mais ça échoue.. pas octal 🙁

une idée ?

Réponse acceptée :

  • Dans votre cas, vous pouvez simplement désactiver le zéro padding en ajoutant - après % au format chaîne de date :%-H

    Par défaut, la date complète les champs numériques avec des zéros. Les indicateurs facultatifs suivants peuvent suivre '%' :

    • - (trait d'union) ne remplissez pas le champ
    • _ (trait de soulignement) pad avec espaces
    • (zéro) pad avec des zéros
    • ^ utiliser des majuscules si possible
    • # utiliser la casse inverse si possible

    Voir le manuel des dates

  • Si vous voulez interpréter le nombre dans une base différente, en bash

    • Les constantes précédées d'un 0 sont interprétées comme des nombres octaux.
    • Un 0x ou 0X en tête indique une valeur hexadécimale.
    • Sinon, les nombres prennent la forme [base#]n, où base est un nombre décimal entre 2 et 64 représentant la base arithmétique, et n est un nombre dans cette base

    Donc, pour interpréter un nombre comme décimal, utilisez 10#n forme, par ex. 10#09

    echo $((10#09*2))
    18
    

    Voir la section Évaluation arithmétique du manuel bash.


Linux
  1. Comment supprimer une seule ligne de l'historique ?

  2. Comment supprimer les retours à la ligne d'un fichier texte ?

  3. Comment extraire la durée de la sortie ffmpeg?

  4. Comment obtenir la sortie de gdb.execute dans PythonGDB (GDB 7.1) ?

  5. Comment diriger la sortie de grep vers cp?

Comment supprimer le mot de passe d'un fichier PDF sous Linux

Comment supprimer une commande de l'historique sous Linux

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment supprimer les espaces des noms de fichiers sous Linux

Comment faire un tracé graphique d'une séquence de nombres à partir de l'entrée standard ?

Comment supprimer Swap Space de Centos 7.x ?