【问题标题】:Extract table name from DDL File从 DDL 文件中提取表名
【发布时间】:2017-07-27 04:36:41
【问题描述】:

我有 DDL 文件并使用 grep 命令我可以使用命令 cat employee.sql | grep -i 'TABLE' 提取以下行

DDL

CREATE TABLE TEMP_EMPLOYEE(
       ID VARCHAR(255),
       NAME VARCHAR(150),
       ADDRESS VARCHAR(150),
       STREET VARCHAR(150),
       SUBURB VARCHAR(100),
       STATE VARCHAR(100)
        );

CREATE TABLE TEMP_EMPLOYEE(

我想从上面的字符串中进一步提取刚才的 TABLE 名称。有人可以帮助如何。我使用了sed,但打印的是相同的字符串。

【问题讨论】:

  • 添加了 ddl 提取样本

标签: sql linux unix awk sed


【解决方案1】:

我建议使用 GNU grep:

grep -Po 'CREATE TABLE \K[^(]*' employee.sql

或 GNU sed:

sed -n 's/CREATE TABLE \(.*\)(/\1/p' employee.sql

或 awk:

awk -F '[( ]' '/CREATE TABLE/ {print $3}' employee.sql

输出:

TEMP_EMPLOYEE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 2019-11-05
    • 2018-09-02
    • 2021-08-31
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多