Название: [shell] string parse Отправлено: Alex Custov от Апрель 14, 2009, 19:26 Есть строка с версией программы общего вида "MAJOR.MINOR[PATCHTYPEPATCHVERSION]", где
MAJOR - главная версия, число MINOR - версия помельче, число PATCHTYPE - тип подуровня (строго определённый набор - "ALPHA", "BETA", "RC"), строка PATCHVERSION - версия подуровня, число Необходимо это строку разобрать на переменные в шелл скрипте. Смотрел на awk с sed, они вроде не подходят для посимвольного парсинга. Perl не знаю, хотя чувствуется что использовать нужно его :) Использование шелла как интерпретатора строго определено, т.е. если даже решение этой задачи будет на перле, то должно быть через прямой его вызов, как php -r "code". Т.е. в результате выполнение некоего кода для строки "1.05BETA2" в шелле должны стать доступны переменные например $MAJOR == "1" $MINOR == "5" $PATCHTYPE == "BETA" $PATCHVERSION == "2" Есть идеи как это реализовать? Спасибо. Название: Re: [shell] string parse Отправлено: Steven_Orko от Апрель 20, 2009, 08:46 Накрапал на скорую руку. Может и не очень красиво. )))
Код: #!/bin/bash Для проверки: Код: ./<имя_файла> 01.08BETTA03 |