Форум — General получить число из строчки awk, bash, grep, sed, игры 0 1 Помогите пожалуйста! Есть файлВ нем строка с меняющимися цифрами и Altis тоже меняется briefingName="glowing-octo-shame v0.0.0.145 Altis"; надо как-то получить из нее 0.0.0.145 а точнее без точек например 0-0-0-145 Ссылка
Что-то вроде: echo 'briefingName="glowing-octo-shame v0.0.0.145 Altis";'| sed -e 's/.*glowing-octo-shame v\(.*\) Altis.*/\1/' Из файла можешь достать grep. anonymous (01.08.18 18:53:51 MSK) Показать ответ Ссылка
На точки можешь заменить так: echo 'briefingName="glowing-octo-shame v0.0.0.145 Altis";'| sed -e 's/.*glowing-octo-shame v\(.*\) Altis.*/\1/' -e 's/\./\-/gi' Ну а из файла так: grep briefingName file.txt | sed -e 's/.*glowing-octo-shame v\(.*\) Altis.*/\1/' -e 's/\./\-/gi' В переменную что-то вроде value=`grep briefingName file.txt | sed -e 's/.*glowing-octo-shame v\(.*\) Altis.*/\1/' -e 's/\./\-/gi'` echo $value anonymous (01.08.18 18:55:54 MSK) Ссылка
Ответ на: комментарий от bodqhrohro_promo 01.08.18 18:54:34 MSK да Deleted (01.08.18 18:56:02 MSK) Ссылка
Ответ на: комментарий от anonymous 01.08.18 18:53:51 MSK спасибо большое забыл написать Altis тоже меняется Deleted (01.08.18 18:58:02 MSK) Показать ответы Ссылка
Ответ на: комментарий от Deleted 01.08.18 18:58:02 MSK все с разобрался Altissed -e 's/.*glowing-octo-shame v\(.*\) .*/\1/' Deleted (01.08.18 19:01:38 MSK) Ссылка
Ответ на: комментарий от Deleted 01.08.18 18:58:02 MSK Что-то вроде: sed -e 's/.*glowing-octo-shame v\(.*\) .*/\1/' -e 's/\./\-/gi' Если заместо «Altis» может быть что-то вроде «A B C», то нужно писать что-то такое: sed -e 's/.*glowing-octo-shame v\(\d*\.\d*\.\d*\) .*/\1/' -e 's/\./\-/gi' anonymous (01.08.18 19:02:05 MSK) Показать ответы Ссылка
Ответ на: комментарий от anonymous 01.08.18 19:02:05 MSK v\(\d*\.\d*\.\d*\.\d*\) anonymous (01.08.18 19:03:02 MSK) Ссылка
Ответ на: комментарий от anonymous 01.08.18 19:02:05 MSK о ништяк Deleted (01.08.18 19:03:18 MSK) Ссылка
Само собой точность regexp зависит от внешних условий.$ perl -nle '/^\s+briefingName="glowing-octo-shame v.+ Altis";/ && print(join "-" => /(\d+)/g)' /tmp/filename 0-0-0-145 anonymous (01.08.18 20:30:33 MSK) Ссылка
я б вот так сделал:echo "$briefingName" | tr -d [:alpha:][:blank:] | td . - Deleted (01.08.18 21:45:28 MSK) Ссылка