Здравствуйте. Нашел такую штуку:
A="abcdef abcdef abcdef";
for i in $A; do B=`echo -n "${i:0:1}" | tr "[:lower:]" "[:upper:]"`; echo -n "${B}${i:1} "; done
. Попытался переделать для своих целей.
#!/bin/bash
for NAME in *.mp3
do
NAMEDOWN=`echo "$NAME" | tr '[A-Z]' '[a-z]'`
if [ "$NAMEDoWN" != "$NAME" ]; then
mv -i --no-target-directory "$NAME" "$NAMEDOWN"
fi
for i in $NAMEDOWN;
do
B=`echo -n "${i:0:1}" | tr "[:lower:]" "[:upper:]"`;
echo -n "${B}${i:1}";
done
done
Но что-то не срослось. В верхний регистр переводится только первый символ если добавляю IFS=
, либо все первые символы становятся заглавными, но пробелов нет.
P.S. Этот код довольно, монструозен ибо в bash не особо силен)
Пользователь решил продолжить мысль 22 Сентября 2010, 13:26:36:
P.P.S. На файлах испытывать побоялся и вывод идет в терминал.