Разделение строки, не работающей

Я пытаюсь разбить строку, но что-то не так. Если кто-нибудь может проконсультироваться.

echo -e "\e[41m## i = $i ##\e[0m"   
str1=$i | cut -d'/' -f1
echo -e "\e[41m## str1 = $str1 ##\e[0m"

, и это вывод:

## i = 1000/1.0, ##
## str1 =  ##
1
задан 12 March 2015 в 12:09

1 ответ

Если вы используете bash, нет необходимости вызывать внешнюю команду, такую ​​как cut для этого: вы можете использовать встроенные функции расширения параметров оболочки.

Например, чтобы удалить длинную конечную строку, начиная с / из переменной str='1000/1.0', и присваиваем результат переменной str1

str1="${str%%/*}"

Итак

$ str='1000/1.0'
$ str1="${str%/*}"
$ echo "$str1"
1000

См. отличный BashFAQ / 073 [ ! d3]

2
ответ дан 23 May 2018 в 22:29

Другие вопросы по тегам:

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