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