Как выбрать одинаковые файлы в двух разных папках

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

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

1
задан 30 May 2016 в 17:16

4 ответа

То, что Вы, вероятно, ищете:

rsync -a --existing source/ destination

Здесь, --existing опция гарантирует, что только файлы, уже существующие в destination, каталог копируется с source, каталог

-a делает копирование рекурсивным и сохраняет символьные ссылки, специальный & файлы устройств, время изменения, группа, владелец, и полномочия

, Если Вы хотите выполнить пробный прогон для наблюдения то, что будет скопировано, используют:

rsync -nav --existing source/ destination

В любом случае, уведомление там не является никакой наклонной чертой после определения целевого каталога.

1
ответ дан 30 May 2016 в 17:16

На командной строке можно использовать команду MV и некоторые подстановочные знаки.

Перемещение все файлы в директорах subdirs к здесь

mv dir/*/* here   

То же, но просто файлы, запускающиеся с префикса

mv dir/*/prefix* here
0
ответ дан 30 May 2016 в 17:16

решение:

diff -sqr dir1 dir2 | grep identical | awk '{print $2}'

объяснение:

diff может произвести различия именами файлов. Пример

diff -sqr dir1 dir2

Files dir1/fileX.txt and dir2/fileY.txt differ
Only in dir1: griveTest.txt
Files dir1/Test.odt and dir2/Test.odt are identical

для получения только идентичного использования файлов grep:

diff -sqr dir1 dir2 | grep identical 

Files dir1/Test.odt and dir2/Test.odt are identical

теперь, чтобы только заставить использование имени файла awk получать 2-й столбец:

diff -sqr dir1 dir2 | grep identical | awk '{print $2}'

dir1/Test.odt
0
ответ дан 30 May 2016 в 17:16

Если необходимо найти те же файлы, Вы могли бы также посмотреть fdupes и проанализировать его вывод. Это проверяет, действительно ли два (или больше) файлы, действительно то же, даже если у них нет того же имени файла.

можно объединить его с чем-то, что сравнивает имена файлов.

(Примечание стороны: Используя fdupes для удаления избыточных файлов может быть опасным - например, с разорванными DVD. Каждая дорожка DVD имеет файл подзаголовка, и это - резервное копирование, которые идентичны, но имеют другой суффикс имени файла. Игрок VLC не будет играть DVD, если один из файлов будет отсутствовать. Таким образом, я должен восстановить эти файлы...)

0
ответ дан 30 May 2016 в 17:16

Другие вопросы по тегам:

Похожие вопросы: