I was writing a simple script to delete some log files, all the log filenames contain the date of creation in the form YYYYMMDD and I needed to delete the files from previous month keeping the current month. The script will run on the last day of every month.
I thought the task will be very easy as I could use the GNU date command to build the date string, something like:
# The year date +%Y
Use the date relative option for getting the previous month, something like:
date --date="-1 month" +%m
Then concatenate both strings and build a file pattern using wildcards like ? and *.
The system date was 2019-05-31 ahd I was expecting the 04 string as the output, instead 05 was printed.
I tried several variants and all printed the same, 05:
$ date --date="-1 month" +%m 05
$ date --date="last month" +%m 05
I DuckDuckGoed the Internet and found this answer:
"GNU date and relatives dates"
No comments yet. -