Xargsはそのような多くの引数を取ることができることを知っています。
xargs -n5 -I{} echo {}
しかし、引数を特定の場所に配置するにはどうすればよいですか。
xargs -n5 -I{} curl www.google.com/{1}/testing/{2}/{3}/works/{5}
どうすればそのようなことを達成できますか?
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
awk
のsystem()
関数を使用できます。
$ awk '{system("curl -v www.google.com/"$1"/testing/"$2"/"$3"/works/"$4)}' file.txt
ここに file.txt
には、curl
コマンドの引数が含まれています。