Извлечение общих файлов из двух проектов в третий проект с сохранением структуры каталогов - PullRequest
0 голосов
/ 16 апреля 2019

Я хотел бы определить, какие файлы являются общими для обоих проектов, и скопировать эти файлы в третий пустой проект.Сравнение должно быть рекурсивным и должно учитывать содержимое файла и путь.

Мне нужно скопировать общие файлы, сохранив их путь.

Я делаю это, чтобы извлечь общий код из двух проектов в общую папку.

Это реакцияпроект.Я открыт для использования любого инструмента, библиотеки или языка для достижения этой цели.Я предполагаю, что есть прямой способ сделать это, используя существующий инструмент.

Я попытался использовать комбинацию, которая позволяет мне идентифицировать общие файлы, но не имеет возможности скопировать их.

1 Ответ

1 голос
/ 16 апреля 2019

утилиты оболочки и Unix Core хороши и интересны для этого:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...