1行に3つのフィールドを持つCSVファイルがあります。
firstname,lastname,url
次のパイプを介してURLにアクセスしようとしています。
grep theName file.csv | cut -d, -f 3
次に、別のパイプを追加し、次のようにカールコマンドでcutコマンドの結果を使用したいと思います。
grep theName file.csv | cut -d, -f 3 | curl > result.txt
問題は、上記の操作を実行するとカールコマンドでエラーが発生することです。カールにパラメータがないためと仮定します。
生成されたURLをカリングするためにカット結果をどのように使用できますか?よろしくお願いします。 =)
答え1
コマンド置換の使用$()
:
curl "$(grep ... | cut -d, -f 3)"
これはIE内部コマンドのSTDOUTに置き換えられます。$()
これは最初にシェルで実行されるため、コマンドは次のようになります。$()
grep ... | cut -d, -f 3
curl
curl <the_url>
答え2
交換が不要な別の解決策:
grep theName | cut -d, -f 3 | xargs curl > result.txt