循环将文件从一个目录复制到另一个目录

循环将文件从一个目录复制到另一个目录

我不是 bash 专家。我需要编写一个脚本来将最新(按日期)文件从一个文件夹复制到另一个文件夹,如下所示

/test/a/date1.bak
/test/a/date2.bak
/test/a/date3.bak 
/test/b/date1.bak
/test/b/date2.bak
/test/b/date3.bak

/test/a/sec/date1.bak
/test/b/sec/date1.bak

第二步,我需要删除目标目录中按日期最旧的文件

/test/a/sec/date1.bak
/test/a/sec/date2.bak
/test/b/sec/date1.bak
/test/b/sec/date2.bak

/test/a/sec/date1.bak
/test/b/sec/date1.bak

答案1

好的,明白了。Terdon,我需要使用文件修改日期。以下是我为文件复制所做的操作:

对于 BDIR 在ls -1 .;执行 TO_BACK=$(ls -t $BDIR | grep ".bak$" | head -1); 如果 [ "$TO_BACK" ]; 然后 echo "将 $BDIR/$TO_BACK 复制到 $BDIR/sec/$TO_BACK"; fi; 完成

相关内容