我想寫一個bash shell腳本來同步兩個不同路徑上的內容。Bash腳本遞歸遍歷目錄,比較和同步文件
我追求的算法包括以下步驟
- 給出兩個完整的(而不是相對)路徑
- 遞歸的比較文件(即文件名可任選有 基本名和後綴)兩個路徑的相應目錄
- 如果對應的目錄或文件不存在,則 將每個文件(從文件夾路徑)複製到其他 對應的文件夾。
我已經想通了步驟1和2分別
OLD_IFS=$IFS
# The extra space after is crucial
IFS=\
for old_file in `diff -rq old/ new/ | grep "^Files.*differ$" | sed 's/^Files \(.*\) and .* differ$/\1/'`
do
mv $old_file $old_file.old
done
IFS=$OLD_IFS
感謝。
爲什麼不使用像'rsync',而不是寫能力較差你自己的東西嗎? – thkala 2012-07-28 19:20:51
自學。試圖學習如何編寫bash腳本。但這不是一項家庭作業。 – 2012-07-28 19:24:18
這很好 - 步驟3中的確切問題是什麼? – thkala 2012-07-28 19:29:21