我一直在寻找解决方案并发现了类似的问题,只是他们试图用空格分隔句子,而答案对我的情况不起作用。
目前正在将一个变量设置为这样的字符串: ABCDE-123456 我想将其拆分为 2 个变量,同时消除“ - ”。IE: var1=ABCDE var2=123456
ABCDE-123456
var1=ABCDE
var2=123456
怎么可能做到这一点?
这是对我有用的解决方案: var1=$(echo $STR | cut -f1 -d-) var2=$(echo $STR | cut -f2 -d-)
var1=$(echo $STR | cut -f1 -d-)
var2=$(echo $STR | cut -f2 -d-)
是否可以使用不带分隔符的 cut 命令(每个字符都设置为变量)?
var1=$(echo $STR | cut -f1 -d?) var2=$(echo $STR | cut -f1 -d?) var3=$(echo $STR | cut -f1 -d?) etc.
var1=$(echo $STR | cut -f1 -d?)
var2=$(echo $STR | cut -f1 -d?)
var3=$(echo $STR | cut -f1 -d?)
etc.
如果 您的解决方案不必是通用的,即只需要像您的示例那样适用于字符串,您可以这样做:
var1=$(echo $STR | cut -f1 -d-) var2=$(echo $STR | cut -f2 -d-)
我选择cut这里是因为您可以简单地为更多变量扩展代码......
cut