如何将.txt文件中的行读取到该bash脚本中?

时间:2018-07-16 14:16:58

标签: sql bash

我有这个bash脚本,它连接到postgre sql数据库并执行查询。我希望能够将.txt文件中的行作为参数读取到查询中。最好的方法是什么?非常感谢您的协助!我在下面有示例代码,但是它无法正常工作。

#!/bin/sh

query="SELECT ci.NAME_VALUE NAME_VALUE FROM certificate_identity ci WHERE ci.NAME_TYPE = 'dNSName' AND reverse(lower(ci.NAME_VALUE)) LIKE reverse(lower('%.$1'));"

(echo $1; echo $query | \
    psql -t -h crt.sh -p 5432 -U guest certwatch | \
    sed -e 's:^ *::g' -e 's:^*\.::g' -e '/^$/d' | \
    sed -e 's:*.::g';) | sort -u

1 个答案:

答案 0 :(得分:1)

考虑到该文件每行只有一个sql查询:

while read -r line; do echo "${line}" | "your code to run psql here"; done < file_with_query.sql

这意味着:在逐行读取file_with_query.sql的内容的同时,对每一行执行一些操作。