Чтобы скопировать файлы в Bash, исключив определенные каталоги, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1: использование rsync
rsync -av --exclude='dir1' --exclude='dir2' source_directory/ destination_directory/
В этом примере замените dir1и dir2именами каталогов, которые вы хотите исключить. source_directory— это каталог, содержащий файлы, которые вы хотите скопировать, а destination_directory— это целевой каталог, в который вы хотите скопировать файлы.
Метод 2: использование find и cp
find source_directory/ -type f -not -path '*/dir1/*' -not -path '*/dir2/*' -exec cp -t destination_directory/ {} +
В этом примере замените dir1и dir2именами каталогов, которые вы хотите исключить. source_directory— это каталог, содержащий файлы, которые вы хотите скопировать, а destination_directory— это целевой каталог, в который вы хотите скопировать файлы.
Метод 3. Использование tar
tar -C source_directory/ -cf - . --exclude='dir1' --exclude='dir2' | tar -C destination_directory/ -xpf -
В этом примере замените dir1и dir2именами каталогов, которые вы хотите исключить. source_directory— это каталог, содержащий файлы, которые вы хотите скопировать, а destination_directory— это целевой каталог, в который вы хотите скопировать файлы.