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"