linux

Fájlok átnevezése kisbetűsre linuxon (rekurzív bash script)

Minden 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.

#!/bin/bash

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.

Megosztás/Mentés