LINUX.ORG.RU

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


0

0

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

★★

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

#!/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 ()

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

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

Danmer ★★ ()

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

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

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