【问题标题】:connect to a DB inside awk script连接到 awk 脚本中的数据库
【发布时间】:2009-10-14 06:39:38
【问题描述】:

在 shell 脚本中,我们可以在 unix 上使用 sqlplus 连接到数据库。 我可以在 awk 脚本中执行相同的操作吗? 我需要在 awk 脚本中访问选择查询的输出。这可能吗?

【问题讨论】:

    标签: sql unix shell sed awk


    【解决方案1】:

    我会进行查询并将其输出提供给 awk:

    sqlplus 'select onething from another' | awk '{ weave awk magic here }'
    

    就像任何其他命令一样:

    pax> ls -alF | awk '{print $9}'
        file1.txt
        file2.txt
        my_p0rn_dir/
    

    【讨论】:

      【解决方案2】:

      只需为您的 SQL 数据库使用某种命令行客户端(如果可用)并将输出通过管道传输到 awk

      例如with sqlite(我不知道客户端 SQL*Plus 有什么):

      echo "select * from foo;" | sqlite3 file.db | awk ...
      

      awk 做不到。这是 UNIX 工具的理念,您可以使用许多小工具来完成一项任务并将它们连接在一起,而不是使用少数工具来完成许多任务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-16
        • 2012-10-22
        • 1970-01-01
        • 1970-01-01
        • 2019-03-25
        相关资源
        最近更新 更多