The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"груповое переименование файлов"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"груповое переименование файлов"
Сообщение от Admin_badmin emailИскать по авторуВ закладки on 13-Окт-04, 12:35  (MSK)
нашел скрипт групового переименования с изменением регистра
for i in `ls`;
do
  mv "$i" `echo "$i" | tr "[:upper:]" "[:lower:]"`;
done

но как сделать, чтобы первая буква оставалась в верхнем регистре
???

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "груповое переименование файлов"
Сообщение от globus emailИскать по авторуВ закладки(ok) on 13-Окт-04, 13:53  (MSK)
>нашел скрипт групового переименования с изменением регистра
>for i in `ls`;
>do
>  mv "$i" `echo "$i" | tr "[:upper:]" "[:lower:]"`;
>done
>
>но как сделать, чтобы первая буква оставалась в верхнем регистре
>???
берешь перл и делаешь ...
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "груповое переименование файлов"
Сообщение от Admin_badmin emailИскать по авторуВ закладки on 13-Окт-04, 15:02  (MSK)
>берешь перл и делаешь ...

а на шеле слабо?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "груповое переименование файлов"
Сообщение от John Искать по авторуВ закладки(??) on 13-Окт-04, 16:04  (MSK)
>>берешь перл и делаешь ...
>
>а на шеле слабо?

#Чтобы первая буква оставалась без изменений
for i in `ls`
do
  mv "$i" ${i:0:1}`echo ${i:1} | tr [:upper:] [:lower:]`
done

#Или первую букву явно в верхний регистр
for i in `ls`
do
  mv "$i" `echo ${i:0:1} | tr [:lower:] [:upper:]``echo ${i:1} | tr [:upper:] [:lower:]`
done

#А вообще, IMHO, это мелкософтовые извращения...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "груповое переименование файлов"
Сообщение от Admin_badmin emailИскать по авторуВ закладки on 13-Окт-04, 17:10  (MSK)
>  mv "$i" ${i:0:1}`echo ${i:1} | tr [:upper:] [:lower:]`
>  mv "$i" `echo ${i:0:1} | tr [:lower:] [:upper:]``echo ${i:1} |

#set i=34623874
#echo {$i:1:1}
Плохой модификатор в $ (1).

??????????
а у тебя это работает?
каким шелом пользуешся (или это перл)?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "груповое переименование файлов"
Сообщение от John Искать по авторуВ закладки(??) on 13-Окт-04, 21:28  (MSK)
>>  mv "$i" ${i:0:1}`echo ${i:1} | tr [:upper:] [:lower:]`
>>  mv "$i" `echo ${i:0:1} | tr [:lower:] [:upper:]``echo ${i:1} |
>
>#set i=34623874
>#echo {$i:1:1}
>Плохой модификатор в $ (1).
>
>??????????
>а у тебя это работает?
>каким шелом пользуешся (или это перл)?


shell
GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.

У тебя ошибочка:
#echo {$i:1:1}
       ^
надо
#echo ${i:1:1}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "груповое переименование файлов"
Сообщение от Admin_badmin emailИскать по авторуВ закладки on 13-Окт-04, 21:42  (MSK)
>shell
>GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)
>Copyright (C) 2002 Free Software Foundation, Inc.
>
>У тебя ошибочка:
>#echo {$i:1:1}
>       ^
>надо
>#echo ${i:1:1}
да я и так, и сяк пробовал. один хрен.
но я это на sh делал. попробую bash, tcsh, zsh...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "груповое переименование файлов"
Сообщение от John Искать по авторуВ закладки(??) on 13-Окт-04, 21:45  (MSK)
>>shell
>>GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)
>>Copyright (C) 2002 Free Software Foundation, Inc.
>>
>>У тебя ошибочка:
>>#echo {$i:1:1}
>>       ^
>>надо
>>#echo ${i:1:1}
>да я и так, и сяк пробовал. один хрен.
>но я это на sh делал. попробую bash, tcsh, zsh...

${string:position:length}
    Extracts $length characters of substring from $string at $position.

По данной теме
http://www.tldp.org/LDP/abs/html/string-manipulation.html

а вообще,
http://www.tldp.org/LDP/abs/html/index.html

Все жто для bash.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "груповое переименование файлов"
Сообщение от Admin_badmin emailИскать по авторуВ закладки on 14-Окт-04, 12:15  (MSK)
>Все жто для bash.
да. работает только на bash
посему предлагаю считать тред открытым
если кто знает как такое провернуть на других шелах (более стандартных),
то милости прошу к нам.

John, большое спасибо за помощь!


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "груповое переименование файлов"
Сообщение от Brainbug Искать по авторуВ закладки(ok) on 14-Окт-04, 13:16  (MSK)
>нашел скрипт групового переименования с изменением регистра
>for i in `ls`;
>do
>  mv "$i" `echo "$i" | tr "[:upper:]" "[:lower:]"`;
>done
>
>но как сделать, чтобы первая буква оставалась в верхнем регистре
>???

[test@test sh]# cat rename.sh
#!/bin/sh

for i in `ls $1`;
do
        new_name=`echo "$i" | awk '{print toupper(substr($0,1,1))tolower(substr($0,2))}'`
        echo "mv $i $new_name"
done
[test@test sh]# ls -l ~/sh/tmp/
total 0
-rw-r--r--    1 root     root            0 Oct 14 11:54 dfGfdlsdfDl
-rw-r--r--    1 root     root            0 Oct 14 11:54 dfgfds
-rw-r--r--    1 root     root            0 Oct 14 11:54 TTES
[test@test sh]# ./rename.sh ~/sh/tmp
mv dfGfdlsdfDl Dfgfdlsdfdl
mv dfgfds Dfgfds
mv TTES Ttes
[test@test sh]#

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру