Regex 如何获得完整的字符串?

Regex 如何获得完整的字符串?,regex,shell,Regex,Shell,输入: 创建表tbl( int1 int, vc1 varchar(5), vc2 varchar(^6) ) 达克格达卡 asdajgdahsdha 预期产出: int1 int, vc1 varchar(5), vc2 varchar(^6) 如果是sed的文件 sed 's/\([^(]*( \)\(.*)\)\( ).*\)/\2/;s/, /,\n/g' infile 如果它是一个变量 猛击 var="${var#*\( }";var="${var% )*}";printf "${

输入:
创建表tbl( int1 int, vc1 varchar(5), vc2 varchar(^6) ) 达克格达卡 asdajgdahsdha

预期产出:

int1 int,
vc1 varchar(5),
vc2 varchar(^6)

如果是sed的文件

sed 's/\([^(]*( \)\(.*)\)\( ).*\)/\2/;s/, /,\n/g' infile
如果它是一个变量

猛击

var="${var#*\( }";var="${var% )*}";printf "${var//, /,$'\n'}\n"
带posix外壳(破折号)


如果你展示你迄今为止尝试过的代码以及你在使用这些代码时遇到的问题,你会得到更好的答案。你能解释一下吗?
var="${var#*\( }";var="${var% )*}";var2="${var#*, }";printf "%s\n" "${var%%,*}," "${var2%,*}," "${var##*, }"