Как извлечь цифры из слова

У меня была аналогичная проблема с клавиатурой на испанском языке (с каталонскими вариантами )и Linux Mint на английском языке (вариант США ).

Мне помогло изменение KeyboardLayout= Spanishв wfclient.ini.

В вашем случае попробуйте KeyboardLayout= BritishилиKeyboardLayout= United Kingdom

1
17.12.2019, 11:46
2 ответа

Вероятно, самым простым и быстрым является использование функций расширения параметров bash , например:

string="22%"
percentage="${string%\%}"

echo "$percentage"   # Output: 22

В ${string%\%}первый %имеет особое значение:удалить из конца параметра(параметр string, в данном случае ).

Второе %— это , что убрать из параметра. Но так как %имеет особое значение в этом контексте, его нужно экранировать с помощью \.

Дополнительные примеры и информацию см. в расширенном руководстве по написанию сценариев bash, глава 10 .

2
27.01.2020, 23:17

В командной строке есть много способов извлечения чисел, например, связанных с инструментами sedили awk, которые являются POSIX. Однако, поскольку вы напрямую спрашиваете, как это сделать с помощью bash.Предположим, у нас есть переменная оболочки $VARIABLE, для которой установлено значение 22%, тогда этот код поможет вам получить только число22

user@box:~$ VARIABLE='22%'
user@box:~$ echo "${VARIABLE%%\%}"

выходы 22

Учтите, что это несколько сбивает с толку, особенно в вашем примере, символ %используется здесь со специальным значением, таким как «заменить с конца строки, хранящейся в переменной sheel». Чтобы указать, что то, что должно быть удалено с конца, будет символом %буквально, мы должны экранировать его следующим образом\%

2
27.01.2020, 23:17

Теги

Похожие вопросы