我有一个问题。我有VAR -例如:
$ VAR ="test12"
我想把它分成两部分。但我不知道该怎么做。我试过了:
SECOND_PART ="$ {VAR: 1}"
FIRST_PART ="$ {VAR % ?}"
,但此方法不包括多位数(范围:1到99)。提前感谢您的帮助:)
echo ${VAR//[^0-9]/} ${VAR//[0-9]/}
使用模式替换。它还假定输入的形式是可靠的(例如,不是"this12andthat98"
)
还有另一种方法:
echo ${VAR%%[0-9]*} ${VAR##*[!0-9]}
test 12
${VAR%%[0-9]*}
从后面删除最长的数字匹配。所以test12
会变成test
。${VAR##*[!0-9]}
从前面删除最长的匹配。所以test12
将变成12
。