如何使用bash脚本仅复制新文件

时间:2013-02-05 19:57:23

标签: bash

我必须使用bash脚本将文件从一个文件夹复制到另一个文件夹。如果目标文件夹具有相同名称但较旧时间戳的文件,则不应复制。只应复制较新的文件。我本可以使用cp -u,但我被要求不要使用它。基本上我必须使用测试命令测试“ot”。请让我知道如何做到这一点。我相信可以使用两个for循环读取源中的文件和一个目标目录,并比较时间戳。问题是for for循环都会产生绝对路径名和文件名。所以不确定如何比较它们

由于

1 个答案:

答案 0 :(得分:1)

您可以从参数替换中获益:

for file in "$folder1"/* ; do
    filename=${file##*/}       # Remove everything to the last slash.

或者,您可以更改目录:

cd "$folder1"
for file in * ; do
    ## you have to use full or relative path to $folder2 here