Доброго времени суток!Помогите люди добрые - надо написать скрипт, который меняет регистр в имени файла (маленькие буквы на большие, а большие на маленькие). Сижу туплю - не выспался, по ходу, а скрипт кровь из носу нужен!!!
Заранее благодарен.
> Доброго времени суток!
> Помогите люди добрые - надо написать скрипт, который меняет регистр в имениДа. ладно??!
$ touch Abc xYz
$ ls -1
Abc
xYz
$ mvrvcs() { mv "$*" "`echo "$*"|rvcs`";}
$ rvcs(){ tr '[[:lower:][:upper:]]' '[[:upper:][:lower:]]';}
$ for f in *; do mvrvcs "$f"; done
$ ls -1
aBC
XyZ
$ for f in *; do mvrvcs "$f"; done
$ ls -1
Abc
xYz
$ _Однако,
$ ls -1
Abc
xYz
Бао
ёЖЪ
$ for f in *; do mvrvcs "$f"; done
mv: `Бао' и `Бао' - один и тот же файл
mv: `ёЖЪ' и `ёЖЪ' - один и тот же файл
$ _И ваще,
$ ls -1 |tr "баоБАО" "БАОбао"
aBC
XyZ
бАО
ѱЖЪ
$ _> файла (маленькие буквы на большие, а большие на маленькие). Сижу туплю
Присоединяемся!
Спасибо, работает)) Русские названия не важны.
Столкнулся с проблемой - скрипт работает, но меняет регистр и в имени файла и в расширении, как сделать, чтобы выборка была только по имени без расширения? Заранее спасибо.
> Столкнулся с проблемой - скрипт работает, но меняет регистр и в имени
> файла и в расширении, как сделать, чтобы выборка была только по
> имени без расширения? Заранее спасибо.Так, что ли?
echo acDFadsaf.exe | awk -F. '{print $1}' | tr "[A-Z][a-z]" "[a-z][A-Z]"
echo fswdDcweAWEWqA | tr "[A-Z][a-z]" "[a-z][A-Z]"
FSWDdCWEawewQa
Немного не то, надо чтобы файло изменялись тоже, а тут просто происходит вывод на экран эхо, файлы не изменяются
> Немного не то, надо чтобы файло изменялись тоже, а тут просто происходит
> вывод на экран эхо, файлы не изменяютсяЕсли включить мозг - то ответ, возможно, придет сам. Или все настолько запущено?
Всё, разобрался)) Спасибо за помощь - только нормально функционировать моск начал