需要将文本文件条目添加到简单的一行/命令bash脚本中

时间:2015-12-14 22:42:08

标签: bash shell

基本上我需要多次执行curl命令并将输出重定向到.csv文件,每次执行命令时,命令中两个单独位置使用的术语都会更改。我有一个单独的文本文件中包含的这些术语(参数?)的列表。每次命令运行不同的术语时,输出都需要附加到文件中。

该命令基本上是:

curl "http://someURL/standardconditions+AND+(TERM_exact+OR+TERM_related)" > testfile.csv

因此,每次运行命令时, TERM 都会在两个位置发生变化( TERM _exact和 TERM _related)。正如我所提到的,我有一个文本文件,其中包含所有60个左右的术语列表,我想要的是使用列表中的第一个术语执行命令的脚本,将输出写入指定的.csv文件然后重复将第二个术语添加到列表中,将其附加到文件中,依此类推,直到它为每个单独的术语运行。

我想有一种简单的方法可以做到这一点,我只是不确定如何。

2 个答案:

答案 0 :(得分:0)

这是一种方法,

这假设listFile.csv是包含60个项目的列表,并且每一行都是以逗号分隔的值对(值中不允许使用逗号!)

while IFS=, read exact related ; do
   curl "http://someURL/standardconditions+AND+(TERM_${exact}+OR+TERM_${related})" >> testfile.csv
done < listFile.csv

目前尚不清楚您是想要一个输出文件,还是多个输出文件。

您可以将>> testfile.csv替换为>>testfile.${exact}_${related}.csv 有单独的文件。

IHTH

答案 1 :(得分:0)

您可以设置一个变量来存储TERM,并使用concat函数来获取字符串 &#34; http://someURL/standardconditions+AND+(TERM_exact+OR+TERM_related)&#34;,并运行python(可能是其他语言)脚本,包括循环结构,以处理60个术语。