Скопируйте файлы в каталог, если их нет в другом каталоге - PullRequest
0 голосов
/ 28 мая 2020

У меня четыре файла file1, file2, file3, file4.

Каталог /All содержит все четыре файла, а каталог /A содержит file1, file2. Теперь я хочу скопировать остальные file3, file4 в другой каталог /B. Как это сделать в командной строке?

Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 30 мая 2020

Следующее решение (в bash) будет поддерживать пробелы в именах файлов, если вам нужно, но не подкаталоги.

diff <(\ls /A) <(\ls /All) | egrep '^> ' | cut -b 3- | xargs -d'\n' -I {}  cp "/All/{}" "/B/{}"
0 голосов
/ 28 мая 2020
find ./All/ -type f -exec bash -c '[ ! -e "./A/$(basename "$0")" ] && cp "$0" ./B/' '{}' \;
...