Unix shell脚本,用于读取目录中的文件并将其移动到相应的文件夹

时间:2014-02-28 15:46:42

标签: bash shell unix

我是shell脚本的新手,但请帮我解决下面的问题。

我在目录下有很多日志文件。我必须阅读该目录下的所有文件并按月创建文件夹并将它们移动到相应的月份文件夹。此外,如果文件/目录超过12个月,我应该删除它。

我有这种格式的文件名:S20130803.123我必须从该文件名中读取201308并创建一个文件夹(如果没有)并将该文件移入其中。

请指导我。

1 个答案:

答案 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选项将禁止错误。