为了账号安全,请及时绑定邮箱和手机立即绑定

将两个项目中的公共文件提取到第三个项目中,保留目录结构

将两个项目中的公共文件提取到第三个项目中,保留目录结构

喵喔喔 2022-01-11 17:17:43
我想确定两个项目共有哪些文件并将这些文件复制到第三个空项目中。比较应该是递归的,并且需要考虑文件内容和路径。我需要复制公共文件,保留它们的路径。我这样做是为了将两个项目中的公共代码提取到一个公共文件夹中。这是一个反应项目。我愿意使用任何工具、库或语言来实现这一点。我想象有一种直接的方法可以使用现有工具来完成此任务。我曾尝试使用 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


查看完整回答
反对 回复 2022-01-11
  • 1 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号