比较文件的日期bash

时间:2013-02-10 21:31:27

标签: linux bash centos

我正在开发一个像Dropbox一样的小型bash脚本,如何比较2个文件的日期并用新的文件替换旧文件而不使用 rsync 有没有简单的方法来处理这个? 可以 SHA1 帮助我了解更新的吗?

4 个答案:

答案 0 :(得分:89)

您可以将文件修改时间与test进行比较,使用-nt(比较新)和-ot(早于)运算符:

if [ "$file1" -ot "$file2" ]; then
    cp -f "$file2" "$file1"
fi

答案 1 :(得分:6)

这是一个POSIX解决方案:

find -name file2 -newer file1

答案 2 :(得分:2)

怎么样

 stat file|awk -F': ' '/Modify: /{print $2}'

答案 3 :(得分:2)

或者更短更好,请看man stat

stat -c %y file