将 cut 命令的结果通过管道传递给curl

将 cut 命令的结果通过管道传递给curl

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

firstname,lastname,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?提前致谢。 =)

答案1

利用命令替换,$()

curl "$(grep ... | cut -d, -f 3)"

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

curl <the_url>

答案2

另一种无需替换的解决方案:

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

相关内容