LINUX.ORG.RU

Переименовать файлы


0

0

Имеется директория с кучей вложенных директорий и тыщами файлов. В названиях файлов и директорий есть заглавные буквы. Требуется переименовать всё (и директории, и файлы), так, чтобы заменить в названиях все заглавные буквы строчными. Помогите плз ^.^

★★

#!/bin/bash
r() { 
ls -1 | while read f ; do 
          if [ -s "$f" ] ; then 
             cd "$f" ; 
             r ; 
             cd .. ; 
          fi ; 
          f1=$(echo "$f" | sed 's,^\(.*\)$,\L\1,') ; 
          if [ "$f" != "$f1" ] ; then 
             mv "$f" "$f1" ; 
          fi  ; 
        done ; 
} 

r
exit

anonymous
()
Ответ на: комментарий от anonymous

rename ’y/A-Z/a-z/’ * или

find /moja_papka -exec rename ’y/A-Z/a-z/’ {} \;

OxiD ★★★★
()

Огромное вам спасибо!

Danmer ★★
() автор топика

Только ошибочка, в кусек if [ -s "$f" ] надо не -s а -d (мол, является директорией)

Danmer ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.