ksh 脚本中超过 8 天的 mv 文件

ksh 脚本中超过 8 天的 mv 文件

需要在 KSH 中创建脚本,将文件移动到同一服务器中超过 8 天的其他目录,它们都是 .CSV

答案1

您尝试的命令几乎是正确的,但使用+8作为-mtime参数而不是+2.

您说您正在使用 AIX,所以我猜测您也在使用一些古老的 shell,需要{}将其引用或转义为\{\}.看gnu 查找并屏蔽某些 shell 的 {} - 哪个?

find /tmp/sappodb/ -type f -mtime +8 -exec mv -v `{}` /tmp/sappodb1/ \;

如果您想将其限制为仅 mv-ing .csv 文件:

find /tmp/sappodb/ -type f -name '*.csv' -mtime +8 -exec mv -v `{}` /tmp/sappodb1/ \;

答案2

只需在 mv cmd 中使用 -t (--target-directory) 即可,如下所示:

find csvdir -type f -name '*.CSV' -mtime +8 -exec mv -t 'otherdir/' {} \;

这是我在安装 ksh 和测试之前的建议。
while [ $(ls 文件夹/ | wc -l) -ge 8 ];

mv "$(ls -1t 文件夹/*.csv | tail -1)" /otherdir/ ;
完毕

测试

在此输入图像描述

相关内容