Linux / Unix Shell Scripting: Create Filename By Day Of The Week

by on February 15, 2012 · 0 comments· last updated at February 15, 2012

I need to create a log file using the following format:

myapp_monday.log
myapp_tuesday.log
....
...
myapp_sunday.log

How do I create log filename with day of the week in it under Linux or Unix operating systems?

You can use the date command to display current date and time. You can format a date provide a string beginning with + to get day of the week as follows:
$ date +"%A"
Where,

  • +"%A" - Get weekday in full format i.e. as Tuesday
  • +"%a" - Get weekday in abbreviated format i.e. as Tue
  • +"%u" - Get day of week starting with Monday (1), i.e. mtwtfss
  • +"%w" - Get day of week starting with Sunday (0), i.e. smtwtfs

Use the following syntax to store weekday into a shell variable:

 
 
_dow="$(date +'%A')"
echo "$_dow"
 
## Get day of week starting with Monday (1), i.e. mtwtfss  (see above for syntax) ##
_dow="$(date +'%u')"
echo "$_dow"
 

To create a filename with day of the week in it:

 
#!/bin/bash
 
_dow="$(date +'%A')"
_log="myapp_${_dow}.log"
echo "My log filename: ${_log}"
 
 

Sample outputs:

My log filename: myapp_Wednesday.log


You should follow me on twitter here or grab rss feed to keep track of new changes.

Featured Articles:

{ 0 comments… add one now }

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <kbd> <blockquote> <pre> <a href="" title="">

Tagged as: , , , , , , , , , ,

Previous Faq:

Next Faq: