我是shell脚本的新手,但请帮我解决下面的问题。
我在目录下有很多日志文件。我必须阅读该目录下的所有文件并按月创建文件夹并将它们移动到相应的月份文件夹。此外,如果文件/目录超过12个月,我应该删除它。
我有这种格式的文件名:S20130803.123
我必须从该文件名中读取201308并创建一个文件夹(如果没有)并将该文件移入其中。
请指导我。
答案 0 :(得分:1)
您可以使用普通bash parameter expansion
提取“年 - 月”部分filename=S20130803.123
month=${filename:1:6}
echo $month # 201308
与12个月前比较:
yearago=$( date -d "last year" +%Y%m )
if [[ $month < $yearago ]]; then ...
创建目录时,使用mkdir -p
- 如果目录已存在,则-p选项将禁止错误。