rsync
es una buena solución, pero si buscas una alternativa:
Digamos que tenemos un directorio "prueba" que contiene los directorios "foo, bar, baz". En estos directorios hay un montón de diferentes tipos de archivos:
test
|____bar
| |____1.jpg
| |____1.png
| |____1.txt
| |____2.jpg
| |____2.png
| |____2.txt
|____baz
| |____1.avi
| |____2.avi
| |____3.png
|____foo
| |____test.blah
|____test.txt
Queremos copiar todo excepto los PNG
scp $(find /location/of/test -type f ! -name "*.png") # -> Note the logical NOT!!
En este ejemplo, el comando colocará todos los archivos en el mismo directorio de destino; este puede no ser el comportamiento que desea.