2013-12-23 34 views
2

我已經使用Sed來抓住兩個有趣的值。現在我想將這兩個值作爲參數發送給Curl。我已經成功地將Sed輸出管道輸出到Curl,只有一個參數使用xargs,但是我無法爲一個命令使用兩個參數。

echo「value1」「value2」|捲曲--data '瓦拉= $ 1 &值Valb = $ 2' http://example.com

我停留在理論和實踐。我不打算使用bash腳本。

[我正在運行tshark,管道輸出到sed,並希望管道輸出捲曲,以便在遠程數據庫中記錄數據。 ]

+0

在你的例子中只有一個參數可以很容易地再次使用xargs。當然,你必須首先結合並格式化參數流(例如用sed)。 – Basilevs

回答

1

只要你不希望使用瓦拉和值Valb在未來的命令,你可以使用read存儲來自您的退出命令的空格分隔輸出:

$ echo foo bar | { read var1 var2 ; echo $var1 $var2 ; } 
foo bar 

這意味着你可以做:

echo "value1" "value2" | { read a b ; curl --data 'valA=$a&valB=$b' http://example.com ; } 
0

反引號聽起來就像是最好的選擇,如果您不能運行sed的2倍(例如你在現場tshark的流這樣做):

curl --data $(printf "valA=%s&valB=%s" `tshark --whatever | sed -e whatever`) 
相關問題