Ваша оригинальная команда может быть переписана как:
find . -type f -exec bash -c 'test -e /target-directory/"$1" || cp "$1" /target-directory' sh {} \;
Ключевым моментом здесь является то, что мы вызываем shell с конкретными командами и передаем найденный файл в качестве $1
аргумента. Если происходит test -e /target-directory/"$1"
сбой, это означает, что файл не существует, и в этом случае cp
будет скопировать файл.
В общем, можно использовать другие команды, если команда может проверить существование файла. Некоторые из других альтернатив:
/usr/bin/realpath -e /target-directory/"$1" > /dev/null || cp "$1" /target-directory
stat >/dev/null /target-directory/"$1" || cp "$1" /target-directory/"$1"