Eens gegoogled:
#!/bin/bash
IFS='
'
j=`find $1 -printf "%d\n" | sort -u | tail -n 1`
echo "Max dir depth:" $j
for (( i=0; i<=j ; i++ ))
do
for name in `find -mindepth $i -maxdepth $i -iname "* *" -printf "%p\n"`
do
newname=`echo "$name" | tr " " "_"`
echo "$name" "$newname"
mv "$name" "$newname"
done
done
Zal dus alle filenames in de huidige directory vervangen door de naam waar dat de spaties door "_" worden vervangen.
of zelf:
rename -v 's/\ /\_/g' * doet genoeg.