Por ejemplo, quiero mostrar la fecha y hora actuales con el siguiente formato:
yyyymmddhhmmss
¿Cómo puedo hacer eso? Parece que la mayoría formato de fecha viene con -, /, :, etc.
Aqui tienes:
date +%Y%m%d%H%M%S
Como man datedice cerca de la parte superior, puede usar el datecomando de esta manera:
date [OPTION]... [+FORMAT]
Es decir, puede darle un parámetro de formato, comenzando con un +. Probablemente puedas adivinar el significado de los símbolos de formato que utilicé:
%Y es por año%m es por mes%d es por diaPuede encontrar este y otros símbolos de formato en man date.
Un ejemplo sencillo en un script de shell
#!/bin/bash
current_date_time="`date +%Y%m%d%H%M%S`";
echo $current_date_time;
Sin formato de puntuación: - +% Y% m% d% H% M% S
Con puntuación: - +% Y-% m-% d% H:% M:% S
"`date +%Y-%m-%d %H:%M:%S`"me da undate: illegal time formatSi está usando Bash, también puede usar uno de los siguientes comandos:
Puede usar la opción
-v varnamepara almacenar el resultado en$varnamelugar de imprimirlo en la salida estándar:Si bien el comando de fecha siempre se ejecutará en una subcapa (es decir, en un proceso separado), printf es un comando incorporado y, por lo tanto, será más rápido.
fuente
%opciones que puede pasar, esto parece estar usando eldatecomando. Entonces,man datele dará las opciones disponibles.Sin puntuación (como ha mencionado @Burusothman):
O / P:
Con puntuación :
O / P:
fuente
Forma interesante / divertida de hacer esto usando la expansión de parámetros (requiere
bash 4.4o más reciente):fuente