从文件中读取每一行并将其用作curl命令中的变量

时间:2016-08-18 22:37:53

标签: bash curl wget

我有一个名为list的文件,类似于

1.html
2.html
3.html

我想运行一个curl命令来读取文件中的每一行,并将其用作curl的变量,例如:

curl "xyz.com/v1/{input from each line of file} 

请帮忙......

1 个答案:

答案 0 :(得分:5)

尝试:

xargs -I{} curl "xyz.com/v1/"{} <file

对于file中的每一行,这会运行curl "xyz.com/v1/",后跟该行的内容。

为了说明发生了什么,没有下载任何东西,我们可以添加一个echo命令:

$ xargs -I{} echo curl "xyz.com/v1/"{} <file
curl xyz.com/v1/1.html
curl xyz.com/v1/2.html
curl xyz.com/v1/3.html

请注意,我将基本网址xyz.com/v1/留在问题中的双引号中。这意味着它受到shell扩展的影响。如果你不想要(并且你可能没有),那么使用单引号:

xargs -I{} curl 'xyz.com/v1/'{} <file