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

Raj*_*Raj 3 bash curl wget

我有一个名为list的文件,它有类似的东西

1.html
2.html
3.html
Run Code Online (Sandbox Code Playgroud)

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

curl "xyz.com/v1/{input from each line of file} 
Run Code Online (Sandbox Code Playgroud)

请帮忙....

Joh*_*024 6

尝试:

xargs -I{} curl "xyz.com/v1/"{} <file
Run Code Online (Sandbox Code Playgroud)

对于您的每一行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
Run Code Online (Sandbox Code Playgroud)

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

xargs -I{} curl 'xyz.com/v1/'{} <file
Run Code Online (Sandbox Code Playgroud)