私はcurlステートメントの結果をたどり、返された各URLを削除しようとしています。Bash Curlによる検索結果の移動
{
"results" : [ {
"uri" : "URL/api/storage/generic-sgca/Lastest_Deploy.tar",
"created" : "2017-09-14T11:59:14.483-06:00"
}]
はこのような50の以上の行があります。次返し
#!/bin/bash
declare -i Current_Date
declare -i Three_Months_Ago
Current_Date=($(date +%s%N)/1000000)
Three_Months_Ago=(${Current_Date}-7889238000)
curl -Username:Password "URL/api/search/dates?dateFields=created&from=${Three_Months_Ago}&today&repos=generic-sgca"
。今度は、別の "-X DELETE" curlコマンドを実行して、返される各URLを削除したいと考えています。など:
URL=curl -Username:Password "URL/api/search/dates?dateFields=created&from=${Three_Months_Ago}&today&repos=generic-sgca"
curl -Username:Password -X DELETE ${URL}
またはそのようなもの。どうすればこれを達成できますか?
EDIT:
私はこれを試したし、動作していないよう:
#!/bin/bash
declare -i Current_Date
declare -i Three_Months_Ago
Current_Date=($(date +%s%N)/1000000)
Three_Months_Ago=(${Current_Date}-7889238000)
while read -r uri; do
curl -Username:Password -X DELETE "$uri"
done < <(
curl -Username:Password "URL/api/search/dates?dateFields=created&from=${Three_Months_Ago}&today&repos=generic-sgca" | # get the list of uris
grep -o "uri" | # filter out everything else
tr -d ',' | # remove commas
awk '{print $3}' # print just the uri
)
私はお返しにこれを取得する:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3225 0 3225 0 0 3225 0 --:--:-- --:--:-- --:--:-- 15140
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
curl: (3) <url> malformed
「echo curl -Username:Password -X DELETE」に変更すると、あなたのURIがどのように見えるかを確認できます。$ uri "'幸いです。 – shellter