GNU/Linux >> Tutoriales Linux >  >> Linux

Convertir formatos de fecha en bash

En OSX, estoy usando -f para especificar el formato de entrada, -j para no intentar establecer ninguna fecha y un especificador de formato de salida. Por ejemplo:

$ date -j -f "%m/%d/%y %H:%M:%S %p" "8/22/15 8:15:00 am" +"%m%d%y"
082215

Tu ejemplo:

$ date -j -f "%d %b %Y" "27 JUN 2011" +%Y%m%d
20110627

#since this was yesterday
date -dyesterday +%Y%m%d

#more precise, and more recommended
date -d'27 JUN 2011' +%Y%m%d

#assuming this is similar to yesterdays `date` question from you 
#http://stackoverflow.com/q/6497525/638649
date -d'last-monday' +%Y%m%d

#going on @seth's comment you could do this
DATE="27 jun 2011"; date -d"$DATE" +%Y%m%d

#or a method to read it from stdin
read -p "  Get date >> " DATE; printf "  AS YYYYMMDD format >> %s"  `date
-d"$DATE" +%Y%m%d`    

#which then outputs the following:
#Get date >> 27 june 2011   
#AS YYYYMMDD format >> 20110627

#if you really want to use awk
echo "27 june 2011" | awk '{print "date -d\""$1FS$2FS$3"\" +%Y%m%d"}' | bash

#note | bash just redirects awk's output to the shell to be executed
#FS is field separator, in this case you can use $0 to print the line
#But this is useful if you have more than one date on a line

Más sobre fechas

tenga en cuenta que esto solo funciona en la fecha GNU

He leído que:

Versión de fecha de Solaris, que no puede admitir -d se puede resolver reemplazando la versión de sunfreeware.com de la fecha


Linux
  1. Cómo convertir formatos de imagen en cPanel

  2. ¿Obtener mtime de un archivo específico usando Bash?

  3. Imprimir fecha para el lunes de la semana actual (en bash)

  4. convertir la salida de bash `ls` a una matriz json

  5. ¿Cómo obtener la fecha/hora de creación del archivo en Bash/Debian?

Bash Shebang

Cómo usar el comando de fecha en Bash Scripting en Linux

restar días de una fecha en bash

Convierta una fecha ISO en segundos desde la época en linux bash

Convertir legible por humanos a bytes en bash

¿Cómo agregar una marca de tiempo al registro de script bash?