#!/bin/bash
# Skrypt bulkrename zmieniający nazwy podanych plików.

printHelp()
{
  echo "Użycie: $0 -f oryg_nazwa -r nowa_nazwa zmieniane_pliki*"
  echo -e "\t-f tekst wyszukiwany w nazwach plików"
  echo -e "\t-r nowy tekst umieszczany w miejscu wyszukiwanego"
  exit 1
}

while getopts "f:r:" opt; do
  case "$opt" in
    r ) replace="$OPTARG"    ;;
    f ) match="$OPTARG"      ;;
    ? ) printHelp            ;;
  esac
done

shift $(( $OPTIND - 1 ))

if [ -z $replace ] || [ -z $match ]
then
  echo "Podaj wyszukiwany i nowy tekst w nazwach plików.";
  printHelp
fi

for i in $@
do
  newname=$(echo $i | sed "s/$match/$replace/")
  mv $i $newname
  echo "Zmiana nazwy $i na $newname."
done
