Сравните два каталога: если файлы не существуют или совпадают, переместите; иначе, ничего не делать

У Debian нет "платящих клиентов" как таковых.

Вы можете спокойно продолжать использовать Debian 6, но только архитектуры i386 и amd64 будут получать долгосрочную поддержку.

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

1
20.03.2019, 20:46
1 ответ

Вам нужно сделать две вещи:

1 )файлов в sourceне вtarget:

 mv -n "$source"/* $target

-nпредотвращает перезапись, если цель существует, поэтому вы копируете все, а mv -nпроверит существование за вас

2 )файла в targetс идентичным файлом в source, удалить файл вsource

 for tgt in $target/* ; do src="$source"/$(basename "$f") ; cmp "$tgt" "$src" && rm "$src" ; done

cmpвозвращает 0 (true, для bash ), если файлы идентичны, 1 (false ), если они разные, поэтому bash оценивает только первый член &&, если он ложен(false && anythingis всегда false )и не будет выполнять rm, если файлы разные.

3
27.01.2020, 23:22

Теги

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