The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Как преобразовать имена файлов из верхнего регистра в нижний
  for i in `ls`; do mv "$i" `echo "$i" | tr "[:upper:]" "[:lower:]"`; done
 
28.06.2002 , Автор: lavr
Ключи: convert, file / Лицензия: CC-BY
Раздел:    Корень / Программисту и web-разработчику / Shell / Готовые скрипты

Обсуждение [ RSS ]
 
  • 1.1, BaT, 22:19, 09/07/2002 [ответить] [смотреть все]
  • +/
    Либо в MC выделить все нужные файлы и в качестве приемника указать:

    \L*

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

     
  • 1.2, catap, 11:37, 18/10/2005 [ответить] [смотреть все]
  • +/
    с локалью ru_RU.UTF-8 русские имена не работают (tr не считает буквы верхнего регистра за верхней, а нижнего за нижний, да помоему вообще она не считает их за буквы :( )
     
  • 1.3, dsl, 09:42, 27/03/2006 [ответить] [смотреть все]
  • +/
    #!/usr/bin/perl

    use encoding 'utf8';

    while(<>){ print lc; }

     
  • 1.4, f0b0s, 23:27, 12/04/2008 [ответить] [смотреть все]
  • +/
    афигительно.
    сегодня ровно такой скриптик стругал в 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?

     
     
  • 2.5, cub0, 16:39, 20/10/2008 [^] [ответить] [смотреть все]
  • +/
    >[оверквотинг удален]
    >C
    >D
    >E
    >X
    >Y
    >Z
    >
    >и mv ессно не сработает.
    >
    >any ideas?

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

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

     
     
  • 3.6, terr0rist, 18:28, 30/03/2009 [^] [ответить] [смотреть все]  
  • +/
    Не пойдёт. Будет одна большая строка.

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

    # for i in *; do ...

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

    # ls | while read i; do ...

     
  • 1.7, max, 20:33, 21/11/2010 [ответить] [смотреть все]  
  • +/
    for i in $( ls | grep [A-Z] ); do mv -i $i 'echo $i | tr ‘A-Z’ ‘a-z’'; done
    переименует все файлы в нижний регистр в каталоге
     
  • 1.8, shaman, 16:30, 11/09/2013 [ответить] [смотреть все]  
  • +/
    ls | while read i; do echo mv \"${i}\" \"$(echo ${i} | tr [:upper:] [:lower:])\"; done
     
  • 1.9, shaman, 17:42, 11/09/2013 [ответить] [смотреть все]  
  • +/
    find -type d | sed "/\.$/d" | while read i; do echo mv \"${i}\" \"$(echo ${i} | tr [:upper:] [:lower:])\"; done
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor