Find all files with the extension .sh, compress each of them into a .tar.gz file, and name the compressed file with the same name as the original file.
find . -name *.sh | xargs -I '{}' tar -czvf {}.tar.gz {}