All pastes #1804613 Raw Edit

Someone

public text v1 · immutable
#1804613 ·published 2010-02-21 13:42 UTC
rendered paste body
#!/bin/bash

## Usage e.g.: sh renamer.sh "/home/user/Desktop/somedir"

if [ "$1" == "" ]; then echo "error: no directory name given"; exit 1; fi
if ! cd "$1"; then echo "error: can't cd into dir"; exit 1; fi

function renamefiles {

rename -- 'y/A-Z/a-z/' *;

rename -- 's/á/a/g' *;
rename -- 's/í/i/g' *;
rename -- 's/ű/u/g' *;
rename -- 's/ő/o/g' *;
rename -- 's/ü/u/g' *;
rename -- 's/ö/o/g' *;
rename -- 's/ú/u/g' *;
rename -- 's/ó/o/g' *;
rename -- 's/é/e/g' *;
rename -- 's/Á/a/g' *;
rename -- 's/Í/i/g' *;
rename -- 's/Ű/u/g' *;
rename -- 's/Ő/o/g' *;
rename -- 's/Ü/u/g' *;
rename -- 's/Ö/o/g' *;
rename -- 's/Ú/u/g' *;
rename -- 's/Ó/o/g' *;
rename -- 's/É/e/g' *;

rename -- 's/_-_/-/g' *;
rename -- 's/_/-/g' *;
rename -- 's/ /-/g' *;

rename -- "s/'//g" *;
rename -- 's/\"//g' *;

rename -- 's/!//g' *;
rename -- 's/,//g' *;
rename -- 's/\(//g' *;
rename -- 's/\)//g' *;
rename -- 's/&/-and-/g' *;
rename -- 's/\*/-/g' *;
rename -- 's/\\/-/g' *;
rename -- 's/\$/-/g' *;
rename -- 's/\?//g' *;
rename -- 's/#/-/g' *;

rename -- 's/;/-/g' *;
rename -- 's/,/-/g' *;

rename -- 's/.-/-/g' *;
rename -- 's/-./-/g' *;
rename -- 's/-.-/-/g' *;
rename -- 's/\+/-/g' *;
rename -- 's/%/-/g' *;

rename -- 's/--------/-/g' *;
rename -- 's/-------/-/g' *;
rename -- 's/------/-/g' *;
rename -- 's/-----/-/g' *;
rename -- 's/----/-/g' *;
rename -- 's/---/-/g' *;
rename -- 's/--/-/g' *;
rename -- 's/-$//g' *;
rename -- 's/^-//g' *;

}

for i in {0..10000}; do find . -mindepth $i -maxdepth $i -type d | while read f; do $(cd "$f"; renamefiles); done; done