从jq输出中的字符串开头删除特定单词

时间:2016-06-14 16:46:55

标签: shell jq

我使用curl命令获取以下值列表:

curl -s http://internal.registry.com/v2/_catalog | jq -r '.repositories[0:5] | to_entries | map( .value )[]'

输出:

centos
containersol/consul-server
containersol/mesos-agent
containersol/mesos-master
cybs/address-api

我想确保输出中不应包含前缀cybs/。例如,cybs/address-api应为address-api

1 个答案:

答案 0 :(得分:2)

只需使用sub

curl ... | jq -r '.repositories[0:5][] | sub("^cybs/"; "")'

另请注意,to_entries | map( .value )NOP,应予删除。

输出:

centos
containersol/consul-server
containersol/mesos-agent
containersol/mesos-master
address-api