我想確定兩個項目共有哪些文件并將這些文件復制到第三個空項目中。比較應該是遞歸的,并且需要考慮文件內容和路徑。我需要復制公共文件,保留它們的路徑。我這樣做是為了將兩個項目中的公共代碼提取到一個公共文件夾中。這是一個反應項目。我愿意使用任何工具、庫或語言來實現這一點。我想象有一種直接的方法可以使用現有工具來完成此任務。我曾嘗試使用 meld 來識別常見文件,但無法復制它們。
1 回答

嚕嚕噠
TA貢獻1784條經驗 獲得超7個贊
shell 和 unix 核心實用程序對此非常有用:
dir1=<path to first project directory>
dir2=<absolute path to second project directory>
outdir=<path to new merged project directory>
# copy dir1 to outdir
cp -a $dir1 $outdir
# compare to files in dir2
cd $outdir
find . -type f | while read path; do
# path exists in dir2 and is not different, else delete it
[ -e "$dir2/$path" ] && diff "$path" "$dir2/$path" >/dev/null || rm -f $path
done
添加回答
舉報
0/150
提交
取消