Doing dies in bash ohne externe Tools (wie jq, die ein JSON-Bearbeitungswerkzeug ähnlich awk ist) ist wahrscheinlich ein bisschen ... unzuverlässig, aber hier gehen wir.
Wenn Sie Ihre Nachrichten locken, können wir mit ihrem Tool sehen, dass die Ausgabe ein JSON ist und dass jede Nachricht einen URI hat, den wir brauchen. Wir sehen auch, dass wir curl XPOST <message_uri> -d "Body=" -u "<auth_string>"
verwenden, um eine Nachricht zu redigieren ... Wenn wir also den URI für jede Nachricht auswählen und curl verwenden, um bei jeder Nachrichten-URI einen leeren Text zu veröffentlichen, werden wir die Nachrichten löschen!
curl -G https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXX/Messages.json -u 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token' \
| grep '"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/' \
| cut -d'"' -f 4 \
| xargs -I {} curl -XPOST "https://api.twilio.com/"{} -d "Body=`-u 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token'
Offensichtlich müssen Sie all ACXX Strings mit Ihrer Kontoinformation ersetzen!
Zuerst locken wir Message.json, um unsere Nachrichten zu erhalten. Wir verwenden grep, um den URI für jede Nachricht herauszureißen. Wir verwenden cut, um nur den rohen URI zu erhalten. Dann verwenden wir xargs
und curl
, um den leeren Nachrichtentext an jeden Nachrichten-URI zu senden.
Dies ist ziemlich brüchig, da es keine Seitennummerierung behandelt, es behandelt absolut nichts als erwartete Ausgabe von dem Endpunkt messages.json, es überprüft die Antwort von dem leeren Textkörper wann nicht Nachrichten zu redigieren, wird die Ausgabe wahrscheinlich auch hässlich sein. Wenn jedoch alles so ist, wie es die API-Dokumentation sagt, sollte es funktionieren und Ihnen zumindest einen Startplatz geben, um zu sehen, warum es vielleicht eine gute Idee ist, dies in einer Sprache zu tun, die robusteres JSON-Parsen hat.
Bitte fügen Sie Beispieleingabe und Ihre gewünschte Ausgabe für diese Beispieleingabe zu Ihrer Frage hinzu. Zeigen Sie Ihre Programmieranstrengungen. – Cyrus