jq的字符串操作

2021-04-20  本文已影响0人  CodingCode
  1. 字符串拼接
$ echo '{"hostname":"host.domain.com","port":8080}' | jq '.hostname + ":" + (.port | tostring)'
"host.domain.com:8080"
  1. 字符串长度
$ echo '{"address":"host.domain.com:8080"}' | jq '.address | length'
20
  1. 子串
$ echo '{"address":"host.domain.com:8080"}' | jq '.address[5:]'
"domain.com:8080"
$ echo '{"address":"host.domain.com:8080"}' | jq '.address[:4]'
"host"
$ echo '{"address":"host.domain.com:8080"}' | jq '.address[5:11]'
"domain"
  1. split
$ echo '{"address":"host.domain.com:8080"}' | jq '.address | split(":")[0]'
"host.domain.com"
$ echo '{"address":"host.domain.com:8080"}' | jq '.address | split(":")[1]'
"8080"
  1. trim
$ echo '{"address":"aaa.domain.aaa.com:8080"}' | jq '.address|ltrimstr("aa")'
"a.domain.aaa.com:8080"
$ echo '{"address":"aaa.domain.aaa.com:8080"}' | jq '.address|rtrimstr("80")'
"aaa.domain.aaa.com:80"
  1. 子串替换
$ echo '{"address":"aaa.domain.aaa.com:8080"}' | jq '.address|sub("aaa"; "bbb")'
"bbb.domain.aaa.com:8080"
$ echo '{"address":"aaa.domain.aaa.com:8080"}' | jq '.address|sub("aaa"; "bbb"; "g")'
"bbb.domain.bbb.com:8080"
$ echo '{"address":"aaa.domain.aaa.com:8080"}' | jq '.address|gsub("aaa"; "bbb")'
"bbb.domain.bbb.com:8080"
上一篇下一篇

猜你喜欢

热点阅读