URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 827
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Как преобразовать имена файлов из верхнего регистра в нижний"

Отправлено auto_tips , 09-Июл-02 22:19 
  for i in 'ls'; do mv "$i" 'echo "$i" | tr "[:upper:]" "[:lower:]"'; done


URL:
Обсуждается: http://www.opennet.me/tips/info/283.shtml


Содержание

Сообщения в этом обсуждении
"Как преобразовать имена файлов из верхнего регистра в нижний"
Отправлено BaT , 09-Июл-02 22:19 
Либо в MC выделить все нужные файлы и в качестве приемника указать:

\L*

Еще действуют \U, \u, \l, как в Perl'e.


"Как преобразовать имена файлов из верхнего регистра в нижний"
Отправлено catap , 18-Окт-05 11:37 
с локалью ru_RU.UTF-8 русские имена не работают (tr не считает буквы верхнего регистра за верхней, а нижнего за нижний, да помоему вообще она не считает их за буквы :( )

"Как преобразовать имена файлов из верхнего регистра в нижний"
Отправлено dsl , 27-Мрт-06 09:42 
#!/usr/bin/perl

use encoding 'utf8';

while(<>){ print lc; }


"Как преобразовать имена файлов из верхнего регистра в нижний"
Отправлено f0b0s , 12-Апр-08 23:27 
афигительно.
сегодня ровно такой скриптик стругал в FreeBSD/bash

ниработает нифига

ибо for i in 1 2 3; do echo $i; done
выведет
1
2
3


так и тут.
в папке с файлами A B C, C D E, X Y Z (содержащее пробелы) выводит
A
B
C
C
D
E
X
Y
Z

и mv ессно не сработает.

any ideas?


"Как преобразовать имена файлов из верхнего регистра в нижний"
Отправлено cub0 , 20-Окт-08 16:39 
>[оверквотинг удален]
>C
>D
>E
>X
>Y
>Z
>
>и mv ессно не сработает.
>
>any ideas?

Тогда закавычить:

for i in "`ls`"; do echo "$i"; done


"Как преобразовать имена файлов из верхнего регистра в нижний"
Отправлено terr0rist , 30-Мрт-09 18:28 
Не пойдёт. Будет одна большая строка.

Вообще, зачем ls?

# for i in *; do ...

либо поиздеваться над мозгом:

# ls | while read i; do ...


"Как преобразовать имена файлов из верхнего регистра в нижний"
Отправлено max , 21-Ноя-10 20:33 
for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr ‘A-Z’ ‘a-z’`; done
переименует все файлы в нижний регистр в каталоге

"Как преобразовать имена файлов из верхнего регистра в нижний"
Отправлено shaman , 11-Сен-13 16:30 
ls | while read i; do echo mv \"${i}\" \"$(echo ${i} | tr [:upper:] [:lower:])\"; done

"Как преобразовать имена файлов из верхнего регистра в нижний"
Отправлено shaman , 11-Сен-13 17:42 
find -type d | sed "/\.$/d" | while read i; do echo mv \"${i}\" \"$(echo ${i} | tr [:upper:] [:lower:])\"; done