Fájlok átnevezése kisbetűsre linuxon (rekurzív bash script)
Beküldte Rimelek - 2010, február 22 - 08:47Minden különleges idegen karaktert nem ismer, de a rename hívás után megadható a többi karakter mintájára új is.
if [ $# -lt 1 ];
then
echo "Add meg a mappa útvonalát!";
exit 1
fi
function getftype()
{
str=`ls -dl "$1"`
echo ${str:0:1}
}
function tolowercase()
{
cd "$1"
for i in *
do
ftype=`getftype "$i"`
if [ "$ftype" == "d" ];
then
tolowercase "`pwd`/$i"
fi
done;
rename 'y/A-ZÁÉÍÓÖŐÚÜŰ/a-záéíóöőúüű/' *
cd ..
}
cd "$1"
tolowercase "`pwd`"
Használata:
Másold a fenti forráskódot egy tolcdc.sh ( to lowercase directory content ) nevű fájlba, majd futtasd terminálban a következőképpen.
./tolcdc.sh ./mappautvonala
Ahol a ./mappautvonala annak a mappának az útvonala, amiben rekurzívan szeretnéd átnevezni a a fájlokat, mappákat kisbetűsre.