我收到SOURCE_FILE_042014.CSV
格式的源文件,其中包含2014年4月份的数据。由此我需要获得该月的最后一个星期六并在我们的系统中加载该日期的数据。例如 - 文件SOURCE_FILE_042014.CSV
的数据应为04262014
的日期。在使用cut命令并在 here 的帮助下执行子字符串后,我只得到26
的日期。如何显示完整的工作日期?
答案 0 :(得分:1)
您需要从文件名中提取年份和月份才能要求上周六。所以,只需回顾一天,然后用你已提取的年份和月份将其复原:
#! /bin/bash
filename=SOURCE_FILE_042014.CSV
date=${filename##*_}
date=${date%.CSV}
month=${date:0:2}
year=${date:2}
day=$(cal $month $year | awk 'NF>6{a=$7} END{print a}')
echo $month$day$year