拆分字符串不起作用

拆分字符串不起作用

我正在尝试拆分字符串,但出了点问题。如果有人能提供建议,请告诉我。

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

如果您使用 bash,则无需调用这样的外部命令cut:您可以使用 shell 的内置参数扩展函数。

例如,删除以/变量开头的最长尾随字符串str='1000/1.0',并将结果分配给变量str1

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

所以

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

看看优秀的Bash常见问题/073

答案2

我用这个解决了它:

str1=$(echo $i | cut -f1 -d'/')

相关内容