gpt4 book ai didi

linux - 如何从 Linux Shell 中的句子中提取单词?

转载 作者:太空宇宙 更新时间:2023-11-04 12:23:35 25 4
gpt4 key购买 nike

我有一个 shell 文件,其中包含以下 SQL 语句:

SELECT distinct vpi.pin_id_e 
FROM MSSINT.V_DSLAMS vd,
MSSINT.v_pin_inventory_old vpi
where vd.dslam like '%@%'
and vd.dslam_id = vpi.dslam_id ;

select pa.circuit_design_id,pa.node_address,c.exchange_carrier_circuit_id,c.type,c.rate_code,c.status
from ASAP.port_address pa,
asap.circuit c
where pa.equipment_id = 4561233 and pa.circuit_design_id is not null
and pa.circuit_design_id = c.circuit_design_id;

在我的 shell 文件的上述内容中,我必须单独提取表或 View 名称(fromwhere 关键字之间的名称)。

我看到很多关于根据位置获取单词的建议,但我不想要那些,因为它们不会像在运算符之间那样工作。

最佳答案

awk 'toupper($0) ~ /^FROM/ { getline;flag=1 } toupper($0) ~ /^WHERE/ { flag=0 }flag' filename

使用 awk,将字符串转换为大写,然后在行首与 FROM 进行模式匹配。如果存在,请读入下一行并将标志设置为 1。当在行首遇到 WHERE 时,将标志设置为 0。只有当标志设置为 1 时,即在 from 和 where 行之间,才会打印完整的行

关于linux - 如何从 Linux Shell 中的句子中提取单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45347321/

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