Fish Shell:
Einen Datum aus einem String analysieren

Wie:

In Fish Shell gibt es keine eingebauten Befehle, die speziell für das Parsen von Daten aus Strings entwickelt wurden. Stattdessen verlässt man sich auf externe Dienstprogramme wie date (verfügbar unter Linux und macOS) oder nutzt beliebte Drittanbieter-Tools wie GNU date für komplexeres Parsen. So geht man vor:

Verwendung von date mit Fish:

Um einen Datumsstring im Format “JJJJ-MM-TT” zu parsen, können Sie den date-Befehl mit der Option -d (oder --date für GNU date) gefolgt von dem String verwenden. Die Option + wird verwendet, um das Ausgabeformat zu bestimmen.

set date_str "2023-04-01"
date -d $date_str +"%A, %d %B %Y"
# Ausgabe: Samstag, 01 April 2023

Für macOS (das ein anderes Format für die Flags -j und -f benötigt):

set date_str "2023-04-01"
date -j -f "%Y-%m-%d" $date_str +"%A, %d %B %Y"
# Ausgabe: Samstag, 01 April 2023

Verwendung von GNU date für komplexes Parsen:

GNU date ist flexibler in Bezug auf Stringformate. Es kann viele gängige Datumsstringformate automatisch erkennen, ohne dass das Eingabeformat explizit angegeben werden muss:

set complex_date_str "1. April 2023 14:00"
date -d "$complex_date_str" '+%Y-%m-%d %H:%M:%S'
# Ausgabe: 2023-04-01 14:00:00

Wenn jedoch mit Datumsstrings gearbeitet wird, die möglicherweise nicht automatisch erkannt werden oder wenn eine präzise Kontrolle über das Eingabeformat benötigt wird, wird die Angabe des Eingabeformats mit GNU date nicht direkt unterstützt. In solchen Fällen sollten Sie die Vorverarbeitung des Strings in Betracht ziehen oder ein anderes Tool verwenden, das für komplexere Datums-Parsing-Routinen konzipiert ist.