
Ich möchte einen Grep-Befehl mit Option -P
in einer BusyBox v1.31.1 () Multi-Call-Binärdatei in einem Kubernetes-Pod mit dem Image ausführencurlimages/curl:7.75.0
curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$CFZONE_NAME"\
-H "X-Auth-Email: $CFUSER"\
-H "X-Auth-Key: $CFKEY" \
-H "Content-Type: application/json" \
| grep -Po '(?<="id":")[^"]*' \ # <- This is the culprit
| head -1
curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CFZONE_ID/dns_records?Name=$CFRECORD_NAME" \
-H "X-Auth-Email: $CFUSER" \
-H "X-Auth-Key: $CFKEY" \
-H "Content-Type: application/json"\
| grep -Po '(?<="id":")[^"]*'\ # <- This is the culprit
| head -1
leider -P
ist das nicht verfügbar
grep: unrecognized option: P
BusyBox v1.31.1 () multi-call binary.
Usage: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f FILE [FILE]...
Search for PATTERN in FILEs (or stdin)
-H Add 'filename:' prefix
-h Do not add 'filename:' prefix
-n Add 'line_no:' prefix
-l Show only names of files that match
-L Show only names of files that don't match
-c Show only count of matching lines
[...]
Wie kann dies umgangen werden?
Antwort1
Können Sie es grep
mit verwenden cut
?
grep -o '"id":"[^"]*' | cut -f4- -d\"