使用SH/BASH将变量一分为二

使用SH/BASH将变量一分为二,bash,sh,Bash,Sh,我有一个从猫那里得到的数字:“(number1,number2)”我想把值分成两个不同的变量。在一行中快速而肮脏的方法是使用grep: read -r var1 var2 < <(grep -o '[0-9]*' file.txt) 此方法的基本思想是将文件内容读入字符串(使用)$(我宁愿使用read从文件中获取数据:read-r line

我有一个从猫那里得到的数字:“(number1,number2)”我想把值分成两个不同的变量。

在一行中快速而肮脏的方法是使用
grep

read -r var1 var2 < <(grep -o '[0-9]*' file.txt)

此方法的基本思想是将文件内容读入字符串(使用
)$(我宁愿使用
read
从文件中获取数据:
read-r line
,然后在此变量上使用正则表达式。@gniourf\u gniourf这种方法的优点是什么?读一行?另一种快速而肮脏的方法:
IFS='(,)'read-r\uvar1 var2
。非常脏。是的,我更喜欢读一行(而不是生成子shell)。
strace bash-c'a=$(<.bashrc)'2>&1 | grep clone
if [[ "$(<file.txt)" =~ ^\((.*),(.*)\)$ ]]; then
    var1="${BASH_REMATCH[1]}"
    var2="${BASH_REMATCH[2]}"
fi