web-dev-qa-db-ja.com

カットコマンドの結果をカールにパイプする

1行に3つのフィールドを含むcsvファイルがあります。

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には引数がないため、

カットの結果を使用して、結果のURLをカールさせるにはどうすればよいですか?前もって感謝します。 =)

6
wdowling

コマンド置換を利用する、$()

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

ここで$()$()内のコマンドのSTDOUTに置き換えられます。つまり、_grep ... | cut -d, -f 3_は最初にシェルによって実行されるため、curlコマンドは最後に:

_curl <the_url>
_
10
heemayl

代替のない別のソリューション:

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