I need to copy all the .class files from server to local with all dir reserved. e.g. server:/usr/some/unknown/number/of/sub/folders/me.class will be /usr/proj
I'd probably recommend using something like rsync for this due to its include and exclude flags, e.g:-
rsync -rav -e ssh --include '*/' --include='*.class' --exclude='*' \
server:/usr/some/unknown/number/of/sub/folders/ \
/usr/project/backup/some/unknown/number/of/sub/folders/
Some other useful flags:
-r for recursive-a for archive (mostly all files)-v for verbose output-e to specify ssh instead of the default (which should be ssh, actually)