File renaming bash script
2010-1-18 17:32
Simple script which will rename all files without white space characters and other unhallowed symbols. I was using it for preparing images for gallery. Script renames all files from it's current location in filesystem.
#!/bin/sh
find -type d -name '*' > files.txt
while read line
do
fileName="${line// /-}"
fileName="${fileName//&/-}"
fileName="${fileName//(/-}"
fileName="${fileName//)/-}"
fileName="${fileName//_/-}"
fileName="${fileName//!/}"
fileName="${fileName//\'/}"
fileName="${fileName//-----/-}"
fileName="${fileName//----/-}"
fileName="${fileName//---/-}"
fileName="${fileName//--/-}"
mv "$line" "$fileName"
done < files.txt
find -type f -name '*.*' > files.txt
while read line
do
fileName="${line// /-}"
fileName="${fileName//&/-}"
fileName="${fileName//(/-}"
fileName="${fileName//)/-}"
fileName="${fileName//_/-}"
fileName="${fileName//!/}"
fileName="${fileName//\'/}"
fileName="${fileName//-----/-}"
fileName="${fileName//----/-}"
fileName="${fileName//---/-}"
fileName="${fileName//--/-}"
fileName="${fileName//-./.}"
mv "$line" "$fileName"
done < files.txt
Back »
Comments: 0
Leave a reply »