출력에서 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"

관련 정보