【问题标题】:I want to extract complete create table DDL query from file我想从文件中提取完整的创建表 DDL 查询
【发布时间】:2016-12-23 13:31:14
【问题描述】:

我有一个包含 n 个 CREATE 表查询的文件,我想在 unix 中提取一些特定的表创建表查询。 例如在下面的文件中,我只想提取表 xyz 的创建表查询。

CREATE TABLE ABC(
       a INTEGER NOT NULL,
       b INTEGER NOT NULL,
       c CHAR(10) NOT NULL,
)
  PARTITIONING KEY a USING HASHING 
  NOT LOGGED INITIALLY 
;
ALTER TABLE abc
 ADD PRIMARY KEY (a);

CREATE TABLE xyz(
       a INTEGER NOT NULL,
       b INTEGER NOT NULL,
       c CHAR(10) NOT NULL,
)
  PARTITIONING KEY a USING HASHING 
  NOT LOGGED INITIALLY 
;
ALTER TABLE xyz
 ADD PRIMARY KEY (a);


CREATE TABLE pqb(
       a INTEGER NOT NULL,
       b INTEGER NOT NULL,
       c CHAR(10) NOT NULL,
)
  PARTITIONING KEY a USING HASHING 
  NOT LOGGED INITIALLY 
;
ALTER TABLE pqb
 ADD PRIMARY KEY (a);

【问题讨论】:

  • 文件格式不同。
  • 格式化问题
  • 欢迎来到 Stack Overflow - 您可能希望看到 How To Format

标签: unix text-extraction


【解决方案1】:

在下面的文件中,我只想提取表 xyz 的创建表查询。

您可以简单地使用sed 打印从CREATE TABLE xyz; 的行:

sed -n "/CREATE TABLE xyz/,/;/p" file

或带参数:

table=xyz
sed -n "/CREATE TABLE $table/,/;/p" file

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    相关资源
    最近更新 更多