now making the TMP directory if it doesn't exist.
[feisty_meow.git] / scripts / files / remove_bracket_id.sh
index 20a0165e4f07dd9bd5d4d20faf509cad000c4f01..66b5a61b31ed62e37d108cd920f2845bdbb90dcb 100644 (file)
@@ -1,13 +1,21 @@
+#!/bin/bash
 
+# a handy script for fixing file names imported using second inventory.
+# the names have a hideous long guid as part of them by default.
 
-file=$1
-
-if [ -z "$file" ]; then
-  echo "need a parameter that's a file to remove the id from the name."
-  exit 3
+if [ $# -lt 1 ]; then
+  echo "This script requires one or more file names whose names should be fixed."
+  echo "Any GUID junk embedded in the name within brackets will be removed."
+  exit 1
 fi
 
-newname="$(echo "$file" | sed -e 's/\([^[ ]*\) \[[a-z0-9A-Z-]*\]/\1/')"
-
-mv "$file" "$newname"
+while [ $# -gt 0 ]; do
+  file="$1"; shift
+  newname="$(echo "$file" | sed -e 's/\[[a-z0-9A-Z-]*\]//g' | tr ' ' '_' | tr -d "\~'" | sed -e 's/\([0-9]\)_\./\1./g' )"
+  if [ "$file" != "$newname" ]; then
+    # we've effected a name change, so let's actually do it.
+    echo "moving '$file' => '$newname'  "
+    mv "$file" "$newname"
+  fi
+done