比较文件的日期bash

Wae*_*ada 40 linux bash centos

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

Ant*_*nko 92

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

if [ "$file1" -ot "$file2" ]; then
    cp -f "$file2" "$file1"
fi
Run Code Online (Sandbox Code Playgroud)

  • 那真棒:) :))从来没有想过简单的比较可以完成这项工作,因为我是新的centOS :)谢谢你:) (6认同)

小智 7

这是一个POSIX解决方案:

find -name file2 -newer file1
Run Code Online (Sandbox Code Playgroud)


小智 6

或者甚至更短更好,看看man stat

stat -c %y file
Run Code Online (Sandbox Code Playgroud)

  • 从纪元开始使用 %Y 秒,更容易使用。 (3认同)