gpt4 book ai didi

sql - AWK - 解析 SQL 输出

转载 作者:行者123 更新时间:2023-12-04 01:09:55 27 4
gpt4 key购买 nike

我从自定义工具的输出中得到如下所示的 SQL 输出。如果能帮助我找出我做错了什么,将不胜感激。

column1                  | column2 | column3 | column4 | column5 | column6 |     column7     | column8 | column9 |        column10            |          column11          
--------------------------------------+----------+-------------+-------------+--------------------+-----------------------+--------------------+---------------+----------------
cec75 | 1234 | 007 | | 2810 | | SOME_TEXT | | | 2020-12-07 20:28:46.865+00 | 2020-12-08 06:40:10.231635+00
(1 row)

在我的案例中,我试图将此输出传送到我需要的列 column1column2column7。我试过像这样输出,但它只打印 column1

工具检查 | awk '{print $1, $2}'

column1 |
--------------------------------------+----------+-------------+-------------+--------------------+-----------------------+--------------------+---------------+----------------+----------------------------+-------------------------------
cec75 |
(1 row)

如果有这样的东西就好了。

ce7c5,1234,SOME_TEXT

我的文件内容


column1 | column2 | column3 | column4 | column5 | column6 | column7 | column8 | column9 | column10 | column11
--------------------------------------+----------+-------------+-------------+--------------------+-----------------------+--------------------+---------------+----------------+----------------------------+-------------------------------
6601c | 2396 | 123 | | 9350 | | SOME_TEXT | | | 2020-12-07 22:49:01.023+00 | 2020-12-08 07:22:37.419669+00
(1 row)


column1 | column2 | column3 | column4 | column5 | column6 | column7 | column8 | column9 | column10 | column11
--------------------------------------+----------+-------------+-------------+--------------------+-----------------------+--------------------+---------------+----------------+----------------------------+-------------------------------
cec75 | 1567 | 007 | | 2810 | | SOME_TEXT | | | 2020-12-07 20:28:46.865+00 | 2020-12-08 07:28:10.319888+00
(1 row)

最佳答案

您需要设置正确的 FS 并以某种方式过滤掉不需要的(垃圾)行。我会按照以下方式进行。让file.txt内容为:

column1                  | column2 | column3 | column4 | column5 | column6 |     column7     | column8 | column9 |        column10            |          column11          
--------------------------------------+----------+-------------+-------------+--------------------+-----------------------+--------------------+---------------+----------------
cec75 | 1234 | 007 | | 2810 | | SOME_TEXT | | | 2020-12-07 20:28:46.865+00 | 2020-12-08 06:40:10.231635+00
(1 row)

然后

awk 'BEGIN{FS="[[:space:]]+\\|[[:space:]]+";OFS=","}(NR>=2 && NF>=2){print $1,$2,$7}' file.txt

输出:

cec75,1234,2020-12-07 20:28:46.865+00

说明:我将字段分隔符 (FS) 设置为一个或多个 :space: 文字 | 一个或多个 :space : 其中 :space: 表示任何空格。根据您的数据,您可能选择使用零个或多个而不是一个或多个 - 为此将 + 替换为 *。对于不是第一行的每一行(这个过滤掉标题)并且至少有 2 个字段(这个过滤掉带有 -+(1 行)) 我打印第 1 列的内容,然后是 ,然后是第 2 列的内容,然后是 ,然后是第 7 列的内容。

关于sql - AWK - 解析 SQL 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65194730/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com