How do I get the date into a filename?

How do I get the date into a filename?

This isn't hard, but it is a bit cryptic at first sight. Let's
begin with the date command itself: date can take a formatting
string, to modify the way in which the date info is printed. The
formatting string has to be enclosed in quotes, to stop the shell
trying to interpret it before the date command itself gets it.
Try this:

date '+%d%m%y'

you should get back something like 130994. If you want to
punctuate this, just put the characters you would like to use in
the formatting string (NO SLASHES '/'):

date '+%d.%m.%y'

There are lots of token you can use in the formatting string:
have a look at the man page for date to find out about them.

Now, getting this into a file name. Let's say that we want to
create files called report.130994 (or whatever the date is today):

FILENAME=report.`date '+%d%m%y'`

Notice that we are using two sets of quotes here: the inner set
are to protect the formatting string from premature
interpretation; the outer set are to tell the shell to execute
the enclosed command, and substitute the result into the
expression (command substitution).



Home FAQ