запрет на имена в верхнем регистре, dilidi, 24-Июн-08, 16:24 [смотреть все]Добрый день! Есть скрипт написанный на sh, для запрета на некоторые символы в именах файлов. Имена передаются ему параметром командной строки. Нужно дописать, чтобы он также запрещал добавлять файлы и директории, в именах которых встречаются буквы в верхнем регистре. Помогите, плиз. Никак не могу сообразить. Что-то типа: #!/bin/shwhile [ $# -gt 0 ] do if [ $1 = "[[:upper:]]"; then echo "File <$1> has invalid name - case error" exit 1 fi shift done exit 0
|
- запрет на имена в верхнем регистре, phpcoder, 16:34 , 24-Июн-08 (1)
>[оверквотинг удален] > >while [ $# -gt 0 ] >do >if printf '%s\n' "$1" | grep -qs '[[:upper:]]'; then > echo "File <$1> has invalid name - case error" >&2 > exit 1 > fi > shift >done >exit 0
- запрет на имена в верхнем регистре, dilidi, 19:21 , 24-Июн-08 (2)
о, спасибо попробую. Сделал еще сам проверочку. Вроде работает. Нет тут подводных камней? Гляньте, пжл. #!/bin/sh if echo $1 | grep -qs [[:upper:]] then echo "has invalid name - case error" fi
- запрет на имена в верхнем регистре, dilidi, 19:56 , 24-Июн-08 (3)
черт, задача еще сложнее, оказывается. Надо проверять на регистр только первую букву названия.
- запрет на имена в верхнем регистре, dilidi, 22:53 , 24-Июн-08 (4)
Вот сделал вроде. Посмотрите, пожалуйста, нет ли граблей? И еще не могу сравнить со скриптом от phpcoder, так как не понимаю до конца. Может на его основе сделать?if echo $1 |grep -qs ^[[:upper:]] then echo "unallowed case of 1-st letter" fi Заранее спасибо, просто хочется понять, а это первые шаги
|