GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie entferne ich führende Nullen aus der Ausgabe von „date“ oder vermeide die oktale Interpretation solcher Dezimalzahlen?

Ich habe dies:

date +"%H hours and %M minutes"

Ich benutze Festival, um es auszudrücken, aber es sagt so etwas wie:„null neun Stunden“. Ich möchte, dass es „neun Stunden“ sagt!

aber Datum gibt mir immer 09… also frage ich mich, ob Bash das einfach zu 9 machen kann?

im komplexen Skript habe ich versucht wie

printf %d 09

aber es schlägt fehl.. nicht oktal 🙁

Irgendeine Idee?

Akzeptierte Antwort:

  • In Ihrem Fall können Sie das Auffüllen mit Nullen einfach deaktivieren, indem Sie - anhängen nach % im Formatstring des Datums:%-H

    Standardmäßig füllt Datum numerische Felder mit Nullen auf. Die folgenden optionalen Flags können auf „%“ folgen:

    • - (Bindestrich) Feld nicht auffüllen
    • _ (Unterstrich) Pad mit Leerzeichen
    • (Null) mit Nullen auffüllen
    • ^ Verwenden Sie nach Möglichkeit Großbuchstaben
    • # Verwenden Sie nach Möglichkeit die umgekehrte Schreibweise

    Siehe Datumshandbuch

  • Wenn Sie Zahlen in einer anderen Basis interpretieren möchten, in bash

    • Konstanten mit einer führenden 0 werden als Oktalzahlen interpretiert.
    • Ein führendes 0x oder 0X bedeutet hexadezimal.
    • Andernfalls nehmen Zahlen die Form [Basis#]n an, wobei Basis eine Dezimalzahl zwischen 2 und 64 ist, die die arithmetische Basis darstellt, und n eine Zahl in dieser Basis ist

    Um also eine Zahl als Dezimalzahl zu interpretieren, verwenden Sie 10#n formen, z. 10#09

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

    Siehe Abschnitt Arithmetische Auswertung im Bash-Handbuch.


Linux
  1. So deinstallieren Sie aria2 von Ubuntu

  2. Wie entferne ich Zeilenumbrüche aus einer Textdatei?

  3. Wie kann ich Jenkins vollständig aus Linux entfernen

  4. Wie entferne ich ISO 9660 von USB?

  5. Wie entferne ich VS Code &Einstellungen von Ubuntu?

So entfernen Sie ein Passwort aus einer PDF-Datei unter Linux

So entfernen Sie einen Befehl aus dem Verlauf in Linux

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

So entfernen Sie Leerzeichen aus Dateinamen in Linux

Wie erstelle ich ein grafisches Diagramm einer Folge von Zahlen aus der Standardeingabe?

Wie entferne ich Swap Space von Centos 7.x?