Чтобы скопировать файлы в 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
— это целевой каталог, в который вы хотите скопировать файлы.