出力からURLを作成する

出力からURLを作成する

APIをクエリし、次のクエリのURLを作成しようとしましたが、私は迷子になりました。最初のコマンドを使用して、探している出力を取得しました。出力は次のとおりです。

8498fdsfh9238yt8hfsjhf238
38fhj38gjkdf983hgkdhg939g
j93g930jg92jy0odi03igo3t9

このような結果が約250個あります。次のクエリではURLの末尾に追加する必要があるため、URLは次のようになります。

https://api.example.com/ids=8498fdsfh9238yt8hfsjhf238&ids=38fhj38gjkdf983hgkdhg939g&ids=j93g930jg92jy0odi03igo3t9

私はこれを行う方法を知りません。私を正しい方向に導くことができるすべてがあれば大いに感謝します。

答え1

awk '{ line=(line?line"&":"") "ids="$0 }
END{ print "https://api.example.com/"line }' infile

答え2

通常のシェルを使用してこれを実行できます。

p=
for i in aa bb cc; do
  p="$p${p:+&}ids=$i"
done
url="https://api.example.com/?$p"

もちろん、一行で書くこともできます。これにより、パラメータが作成され、空で$pない場合は区切り文字が追加されます。&$p

パラメーターがファイル内にある場合は、infileコマンドの置き換えによってそのパラメーターを取得できます。

p=
for i in $(cat infile); do
  p="$p${p:+&}ids=$i"
done
url="https://api.example.com/?$p"

関連情報