我不是 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; 完成