While I am not worlds greatest bash script kiddie, I assembled a script that clones the repo and sorts its svg images. after execution you end up with a folder eclipse_images that hosts the svg files.
If you improve the script, please post it here so others can benefit.
#!/bin/bash # create working dir mkdir eclipse_images cd eclipse_images/ # get images git clone git://git.eclipse.org/gitroot/platform/eclipse.platform.images.git # extract all svg images for line in `find eclipse.platform.images/ -iname "*.svg"`; do echo line | awk -v source="$line" '{str=source; gsub(/\//, "_", str); gsub(/eclipse.platform.images_org.eclipse.images_eclipse-svg_/, "", str); gsub(/icons_full_/, "", str); gsub(/_icons_/, "_", str); print "mv \"" source "\" \"" str "\""}' | bash -sx done # remove rest of repository rm -rf eclipse.platform.images # extract subtype 'wizard banner' mkdir "wizban" for line in `find . -maxdepth 1 -iname "*_wizban_*.svg"`; do mv "$line" "wizban" done # extract overlay images mkdir "overlay" for line in `find . -maxdepth 1 -regextype posix-extended -regex "^.*_ovr(16_.*)?.*.svg"`; do mv "$line" "overlay" done # extract progress indicators mkdir "progress" for line in `find . -maxdepth 1 -regextype posix-extended -regex "^.*_(prgss|progress)_.*.svg"`; do mv "$line" "progress" done # extract view images mkdir "views" for line in `find . -maxdepth 1 -regextype posix-extended -regex "^.*_e?view(16)?_.*.svg"`; do mv "$line" "views" done # ... and all the rest declare -a arr=("obj16" "elcl16" "clcl16" "etool16" "ctool16" "obj") mkdir "images" for token in "${arr[@]}" do for line in `find . -maxdepth 1 -iname "*_${token}_*.svg"`; do mv "$line" "images" done done cd ..