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をカールさせるにはどうすればよいですか?前もって感謝します。 =)
コマンド置換を利用する、$()
:
_curl "$(grep ... | cut -d, -f 3)"
_
ここで$()
は$()
内のコマンドのSTDOUTに置き換えられます。つまり、_grep ... | cut -d, -f 3
_は最初にシェルによって実行されるため、curl
コマンドは最後に:
_curl <the_url>
_
代替のない別のソリューション:
grep theName | cut -d, -f 3 | xargs curl > result.txt