Új hozzászólás Aktív témák

  • Mahesa

    tag

    válasz bambano #10964 üzenetére

    Ezt használom, ha nagyon muszáj - távolról sem tökéletes, de talán egy próbát megér. A nem aláhúzás, nem pont, nem angol ABC kis- és nagybetű vagy szám, aláhúzásra cserléi:

    #!/bin/bash

    if [ $# -ne 1 ]
    then
    echo "***Használat: $programnev <útvonal>"
    exit 1
    fi

    if cd "$1" 2>/dev/null
    then
    read -p "* Fájlok átnevezése a következö könyvtárban: $1 - mehet? (i/n)" valasz
    [ $valasz != 'i' ] 2>/dev/null && exit 1
    else
    echo "***Hiba: a megadott könyvtár ($1) nem létezik."
    exit 1
    fi

    counter=1
    for betu in a e i o o o u u u A E I O O O U U U
    do
    ekezetnelkuli[$counter]="$betu"
    counter=`expr $counter + 1`
    done

    for i in *
    do
    if [ `echo $i | grep -e '[^a-zA-Z0-9._]' | wc -l` -eq 0 ]
    then
    echo -e "*\t$i kihagyva"
    continue
    fi

    counter=1
    filename=$i
    orig_filename=$filename

    for j in á é í ó ö ő ú ü ű Á É Í Ó Ö Ő Ú Ü Ű
    do
    temp=`echo "$filename" | sed "s/$j/${ekezetnelkuli[$counter]}/g"`
    filename=$temp
    counter=`expr $counter + 1`
    done

    safefilename=`echo "$filename" | sed 's/[^a-zA-Z0-9._]/_/g'`

    if [ ! -r "$safefilename" ]
    then
    mv -i "$i" "$safefilename" && echo " $orig_filename ---> $safefilename"
    else
    echo "***Hiba: a '$i' fájl nem nevezhető át, a fájlnév már létezik: $safefilename"
    fi
    done

Új hozzászólás Aktív témák