Есть какой-нибудь способ использовать cp для копирования всей папки, исключая некоторые файлы?

Я пытался скопировать всю папку в другую, и это просто добавление -r вариант

cp -r sourceFolder destFolder

Но теперь мне нужно исключить некоторые файлы из sourceFolder. Как этого добиться?

1 ответ

Решение

Вы можете сделать что-то вроде этого

for f in sourceFolder/*
do
    if [ "f$" != "filename-to-exclude1" ] || [ "f$" != "filename-to-exclude2" ] # || ...can be extended
    then
        cp -r f$ destinationFolder # this will copy files and folders regardless so if you need to exclude a file from a subfolder you need to extend that if then structure
    fi
done
Другие вопросы по тегам