Grep

將 cut 命令的結果通過管道傳遞給 curl

  • November 30, 2016

我有一個 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?提前致謝。=)

利用命令替換,$()

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

這裡將被ie$()內部命令的 STDOUT 代替,因為這是首先由 shell 完成的,所以命令最終將是:$()``grep ... | cut -d, -f 3``curl

curl <the_url>

另一種無需替換的解決方案:

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

引用自:https://unix.stackexchange.com/questions/323604