aivs написал:
Если введена строка [цифры]% # например 15%
то преобразовать ее к виду [только цифры]
откусить последний процент? баш это может и без всяких седов:
[console]doc@dt:~$ x=abcde
doc@dt:~$ echo ${x}
abcde
doc@dt:~$ echo ${x%e}
abcd
[/console]
в данном случае процент необходимо экранировать:
[console]doc@dt:~$ x=abcde%
doc@dt:~$ echo ${x}
abcde%
doc@dt:~$ echo ${x%\%}
abcde
[/console]
aivs написал:
Вижу это как то так:
case
не нужно
Fat-Zer написал:
ИМХО через sed приятней всего получается...
stroka=$(echo $stroka | sed -r ' /^[0-9]+%$/!d; s/([0-9]+)%/\1/' ) # пустая строка, если на вход подали что-то не то
через if можно регэкспом, аналогично float'у, как я показывал выше.
не нужно.