Да, вы можете использовать --exclude-file
несколько раз, чтобы указать разные исключаемые файлы. И это может быть полезно, если вы хотите разделить разные классы файлов на отдельные исключаемые файлы.
Это структура каталогов, и я должен удалить исполняемый файл и временные файлы, созданные.
root-dir/
├── dir1
│ ├── dir1-1
│ │ ├── a.out
│ │ └── file1.txt
│ └── dir1-2
│ ├── a.out
│ └── file2.txt
├── dir2
│ └── dir2-1
│ ├── a.out
│ ├── file3.txt
│ └── README.md
└── dir3
├── dir3-1
│ └── a.exe
├── dir3-2
│ ├── a.out
│ ├── program1.cpp
│ ├── program1.ii
│ ├── program1.o
│ └── program1.s
└── dir3-3
├── a.out
├── program2.cpp
├── program2.ii
├── program2.o
└── program2.s
Используйте команду
rsync --exclude-from exclude-exec --exclude-from exclude-temps -av SRC/ DEST/
exclude-exec содержит
*.out
*.exe
exclude-temps содержит
*.ii
*.o
*.s
Структура каталогов после операции становится,
root-dir/
├── dir1
│ ├── dir1-1
│ │ └── file1.txt
│ └── dir1-2
│ └── file2.txt
├── dir2
│ └── dir2-1
│ ├── file3.txt
│ └── README.md
└── dir3
├── dir3-1
├── dir3-2
│ └── program1.cpp
└── dir3-3
└── program2.cpp