web-dev-qa-db-ja.com

xargsを使用した複数の引数。

Xargsはそのような多くの引数を取ることができることを知っています。

xargs -n5 -I{} echo {}

しかし、引数を特定の場所に配置するにはどうすればよいですか。

xargs -n5 -I{} curl www.google.com/{1}/testing/{2}/{3}/works/{5}

どうすればそのようなことを達成できますか?

5
Sten Kin

xargsでこれを直接行うことはできないと思います。 Costasが示唆するようにreadを使用するか、次のようにします。

xargs -n5 sh -c 'curl "http://www.google.com/${1}/testing/${2}/${3}/works/${5}"' curl-command

または、URLを作成して、それをxargsに渡します。

awk '{printf "http://www.google.com/%s/testing/%s/%s/works/%s\n", $1, $2, $3, $5}' | \
  xargs -L1 curl 
5
muru

awksystem()関数を使用できます。

$ awk '{system("curl -v www.google.com/"$1"/testing/"$2"/"$3"/works/"$4)}' file.txt

ここに file.txtには、curlコマンドの引数が含まれています。

1
Kannan Mohan