Pętla for pobierze nam wszystkie pliki w danym katalogu, po czym poleceniem mv oraz tr zmienimy im nazwę. W nawiasach kwadratowych podany jest zakres znaków jakie mają zostać zamienione. Możemy delikatnie zmodyfikować skrypt i wykorzystać klasy znaków dla polecenia tr:
Kod:
for i in `cat $1 | grep -v ” ” | sort | uniq`; do c=`echo $i | tr [:upper:] [:lower:]`; echo $c >>$1-wynik.txt done;
W tym wypadku wykorzystując klasy upper i lower Wykorzystując klasy możemy określić jakie zakresy znaków mają być brane pod uwagę. Mamy do dyspozycji:
- alnum – znaki alfanumeryczne
- alpha – litery
- cntrl – znaki kontrolne
- digit – cyfry
- graph – znaki graficzne, bez spacji
- lower – małe litery
- print – znaki pisarskie w tym spacja
- punct – znaki interpunkcyjne
- space – spacje, białe znaki
- upper – wielkie litery
- xdigit – znaki hexadecymalne
źródło: http://osworld.pl/masowa-zmiana-nazw-plikow-pisanych-wielkimi-literami-na-male/