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