我有一个包含以下模式的文件
CREATE TABLE hello
(
a string CHARACTER SET ISO88591 NO
DEFAULT -- NOT NULL
, b int NO DEFAULT -- NOT NULL
, c string NO DEFAULT -- NOT NULL
, d string CHARACTER SET ISO88591 DEFAULT
NULL
, e string CHARACTER SET ISO88591 DEFAULT
NULL
, f string CHARACTER SET ISO88591 DEFAULT
NULL
, CONSTRAINT xyz(hello)
, CONSTRAINT xyz CHECK
(hello how r u)
)
输出应为
a string
, b int
, c string
, d string
, e string
, f string
我尝试了以下命令来提取模式b / w括号,但由于有内部括号,因此无法找到匹配项。我需要在第一个括号和最后一个括号中找到所有文本。
cat file.txt | grep -i '(.*)'
awk '/(.*)/' file.txt
感谢这方面的任何帮助
答案 0 :(得分:-1)
解析SQL总是一件混乱的事情。理想情况下,您使用的是SQL解析器,但它们基本上都是由unobtanium构成的。所以我们破解。类似下面的内容可以在awk中使用:
JobNumberString [1] = 00
JobNumberString [2] = 01
JobNumberString [3] = 03