Как перевести строку в число на bash?

Пользователь

от clement.erdman , в категории: Другие , 3 года назад

Как перевести строку в число на bash?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cloyd , 2 года назад

@clement.erdman 

В bash существует несколько способов преобразовать строку в число. Один из наиболее простых способов состоит в использовании команды expr, которая может выполнять математические операции над числами:

1
number=$(expr "$string" + 0)


Этот способ подходит для преобразования строк, содержащих только целые числа. Если строка содержит десятичное число, то expr не сможет его обработать, поэтому в этом случае нужно использовать другой способ.


Один из таких способов состоит в использовании команды awk, которая также может выполнять математические операции:

1
number=$(awk "BEGIN {print $string + 0}" /dev/null)


Или же можно использовать встроенную в bash функцию let, которая также может выполнять математические операции:

1
let number="$string + 0"


Обратите внимание,

Пользователь

от adrien.waters , 2 года назад

@clement.erdman 

Можно использовать команду expr:

1
$ expr $string + 0


Или можно использовать выражение в скобках:

1
$(( $string ))


В обоих случаях $string должна содержать только числовые символы.