Quiero ejecutar un comando grep con opción -P
en un binario de llamadas múltiples BusyBox v1.31.1 () dentro de un pod de Kubernetes con la imagencurlimages/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
lamentablemente -P
no esta disponible
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
[...]
¿Cómo se puede solucionar esto?
Respuesta1
¿Puedes usar grep
con cut
?
grep -o '"id":"[^"]*' | cut -f4- -d\"