When I unzip a Mac Os X zip archive on Linux, I get a file beginning with "._" for every regular file in archive. I tried filtering out these files using with unzip archive.zip -x "*._" but the "*._" files still came through. What I think is happening is the _files with names beginning with "._" are being created from the extra Mac OS X file info, so the exclusion doesn't work because the files aren't really there to begin with. I tried the -i and -J options with unzip but got syntax error.
To reproduce this problem, on MacOS X just create zip archive of a folder, ftp to Linux machine and unzip. You should see a file beginning with "._" for every regular file your Mac Os X created zip archive.