zde
for i in */; do tar -czvf "${i%/}.tar.gz" "$i"; done
for i in *
do
[ -d "$i" ] && zip -r "$i.zip" "$i"
done
Projdete všechny adresáře a pro každý z nich vytvoříte zip.
Nebo ještě stručněji:
for i in */; do zip -r "${i%/}.zip" "$i"; done
(díky damienfrancoisovi za návrh).