Файлы находятся в двух отдельных папках, одна папка содержит больше файлов, чем другая, но большое количество файлов идентичны. Они занимают много места, поэтому я хочу просто сохранить файлы во второй папке, которой нет в первой папке.

Как мне это сделать, без необходимости идти файл за файлом?

2 ответа2

0

Предполагая, что имена файлов идентичны в обеих папках, и у вас есть оболочка Bash, выполните эту команду из второй папки:

grep -Ff <(find /path/to/first/folder/*  -printf "%f\n") <(find *  -printf "%f\n") | xargs -0 rm

Вторая команда ищет все файлы с одинаковыми именами и rm их. Будьте осторожны при удалении. Вы можете запустить команду без | xargs -0 rm , просто чтобы посмотреть, какие файлы удаляются.

0

Две альтернативы для Windows - это DOS findstr и fc (сравнение файлов). Я не знаю, как будет выглядеть точная команда, если кто-то сделает комментарий.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .