如果需要从字符串或者文件中截取两个以上的变量怎么办?
很简单:
#!/bin/bash
re="^([^-]+)-(.*)$"
str="ABCDE-123456"
[[ $str =~ $re ]]
var1="${BASH_REMATCH[1]}"
var2="${BASH_REMATCH[2]}"
echo $var1
echo $var2
运行这个脚本,将会回显:
ABCDE
123456
BASH_REMATCH是bash的内置关键字,它是一个数组,用于存储正则表达式中圆括号() 所表达的变量,这跟平时我们使用其他编程语言的时候没有太大的区别,很简单是吧?