我想在從 curl 獲取的控制臺文本中提取“job”的值,它是:ix90CvhtaWfMhNiIy3RDbr2lJ2pRzGxBqHSiDq5OcI
95 28.2M 0 0 95 27.0M 0 1091k 0:00:26 0:00:25 0:00:01 2910k
100 28.2M 0 52 100 28.2M 1 1108k 0:00:26 0:00:26 --:--:-- 2887k
100 28.2M 0 52 100 28.2M 1 1108k 0:00:26 0:00:26 --:--:-- 2965k
{"job":"ix90CvhtaWfMhNiIy3RDbr2lJ2pRzGxBqHSiDq5OcI"}
[Pipeline] }
[Pipeline] // dir
[Pipeline] }
我正在使用這個命令來提取值:
curl -v --silent 'link-to-consoleText' 2>/dev/null | grep -Eo '("job":\"[^"]*\")' | head -n1 | awk -F' = ' '{ print $1 }'
當前正則運算式使用 : ("job":\"[^"]*\"),但它提取了: "job":"ix90CvhtaWfMhNiIy3RDbr2lJ2pRzGxBqHSiDq5OcI"。
如何只提取價值?謝謝。
uj5u.com熱心網友回復:
如果您使用 awk,則不需要 grep,試試這個:
curl -v --silent 'link-to-consoleText' 2>/dev/null | awk -F'"' '/job/ {print $4}'
uj5u.com熱心網友回復:
-P如果支持,您可以使用grep\K清除匹配緩沖區并"在最后斷言。
請注意,您不需要捕獲組,也不必轉義雙引號。
curl -v --silent 'link-to-consoleText' 2>/dev/null | grep -Po '"job":"\K[^"]*(?=")'
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/432557.html
