将 cut 命令的结果管道化为 curl

wdo*_*ing 6 grep cut curl

我有一个 csv 文件,每行包含 3 个字段。

firstname,lastname,url

我正在尝试通过以下管道访问 url:

grep theName file.csv | cut -d, -f 3

然后我想添加另一个管道并在 curl 命令中使用 cut 命令的结果,如下所示:

grep theName file.csv | cut -d, -f 3 | curl > result.txt

问题是,当我执行上述操作时,curl 命令会引发错误,我认为是因为 curl 没有参数?

如何使用 cut 的结果来卷曲生成的 url?提前致谢。=)

hee*_*ayl 10

利用命令替换,$()

curl "$(grep ... | cut -d, -f 3)"
Run Code Online (Sandbox Code Playgroud)

这里$()将被$()ie内部命令的 STDOUT 替换grep ... | cut -d, -f 3,因为这是由 shell 首先完成的,所以curl命令最终将是:

curl <the_url>
Run Code Online (Sandbox Code Playgroud)


Ipo*_*cer 10

另一个没有替代的解决方案:

grep theName | cut -d, -f 3 | xargs curl > result.txt
Run Code Online (Sandbox Code Playgroud)