テーブルDDLから列名を抽出する

テーブルDDLから列名を抽出する

テーブルのリストを含むテキストファイルがあります。各テーブルの列を抽出し、テーブル名とともに別のcsvファイルに作成する必要があります。

はい

describe test_table
+-----------+------------+
| col_name  | data_type  |
+-----------+------------+
| Name      | string     |
| Age       | string     |
+-----------+------------+

次の詳細でcsvファイルを作成する必要があります。

test_table,Name,Age

何か提案してもらえますか?

ベストアンサー1

すべてのUnixシステムのすべてのシェルでawkを使用してください。

$ cat tst.awk
$1 == "describe" {
    out = $2
    next
}
/^[+]/ {
    mod = (++cnt % 3)
    if ( mod == 0 ) {
        print out
    }
    next
}
mod == 2 {
    out = out "," $2
}

$ awk -f tst.awk file
test_table,Name,Age

おすすめ記事