如果bash脚本中的两个目录中都存在文件,我怎么能比较两个目录的文件并替换它们的时间戳?例如,我在Directory1中有file1.txt,在Directory2中有file1.txt(目录是作为参数给出的),它们具有不同的时间戳,我想用旧版本替换较新的时间戳。我该怎么办?
我已经知道我应该使用touch命令(https://askubuntu.com/questions/62492/how-can-i-change-the-date-modified-created-of-a-file),并使用-nt和-ot(compare file's date bash)来比较文件,但是因为我是对于脚本来说还是一个新手,我在弄清楚如何将所有这些放在一起时遇到了一些麻烦。
答案 0 :(得分:0)
备份您的文件。试试这个:
cd "$1"
for i in *; do
if [[ -e ../$2/$i ]]; then
if [[ $i -ot ../$2/$i ]]; then
touch -r "$i" "../$2/$i"
else
touch -r "../$2/$i" "$i"
fi
fi
done