In a unix shell, how to get yesterday's date into a variable?

Chris picture Chris · Aug 19, 2010 · Viewed 124.2k times · Source

I've got a shell script which does the following to store the current day's date in a variable 'dt':

date "+%a %d/%m/%Y" | read dt
echo ${dt}

How would i go about getting yesterdays date into a variable?

Basically what i'm trying to achieve is to use grep to pull all of yesterday's lines from a log file, since each line in the log contains the date in "Mon 01/02/2010" format.

Thanks a lot

Answer

polemon picture polemon · Aug 19, 2010
dt=$(date --date yesterday "+%a %d/%m/%Y")
echo $dt