Fish Shell:
Analizando una fecha a partir de una cadena de texto
Cómo hacerlo:
En Fish Shell, no tienes comandos integrados específicamente diseñados para analizar fechas de cadenas. En su lugar, dependes de utilidades externas como date
(disponible en Linux y macOS) o aprovechas herramientas de terceros populares como GNU date
para el análisis más complejo. Así es cómo abordarlo:
Usando date
con Fish:
Para analizar una cadena de fecha en el formato “AAAA-MM-DD”, puedes usar el comando date
con la opción -d
(o --date
para GNU date) seguido de la cadena. La opción +
se utiliza para formatear la salida.
set date_str "2023-04-01"
date -d $date_str +"%A, %d %B %Y"
# Salida: Saturday, 01 April 2023
Para macOS (que requiere un formato diferente para las banderas -j
y -f
):
set date_str "2023-04-01"
date -j -f "%Y-%m-%d" $date_str +"%A, %d %B %Y"
# Salida: Saturday, 01 April 2023
Usando GNU date
para análisis complejo:
GNU date
es más flexible con los formatos de cadena. Puede detectar automáticamente muchos formatos comunes de cadenas de fecha sin especificar explícitamente el formato de entrada:
set complex_date_str "April 1, 2023 14:00"
date -d "$complex_date_str" '+%Y-%m-%d %H:%M:%S'
# Salida: 2023-04-01 14:00:00
Sin embargo, cuando se trabaja con cadenas de fecha que pueden no ser reconocidas automáticamente o cuando se necesita un control preciso sobre el formato de entrada, especificar el formato de entrada con GNU date
no es directamente compatible. En tales casos, considera preprocesar la cadena o usar otra herramienta diseñada para rutinas de análisis de fecha más complejas.