2016-08-22 57 views
0

比方說,我有兩個具有相同結構的目錄,並且我希望將文件的時間戳設置爲第一個文件的時間戳,當且僅當文件內容相同時。在目錄上同步時間戳

我在這裏給出了一個答案,但如果你們有更少的笨拙和更有效的方式來實現目標,那將是完美的。

回答

1

一個可能的解決方案是該腳本:

#!/bin/bash 

OLDDIR=$(readlink -f $1) 
NEWDIR=$(readlink -f $2) 

cd $NEWDIR 
for file in $(find .); do 
    file2=$OLDDIR/$file 
    if test -e "$file2" && diff >/dev/null -q "$file" "$file2" ; then 
     touch -r "$file2" "$file" 
    fi 
done 
2

一個更簡單的方法就是:

rsync -uav /path/to/dir1/ /path/to/dir2 

(除去v抑制--verbose輸出)

注:的尾隨'/' followi ng dir1。它告訴rsync採取的內容dir1而不是dir1本身。