我有这个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
答案 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的内容的同时,对每一行执行一些操作。