美文网首页
jq的字符串操作

jq的字符串操作

作者: CodingCode | 来源:发表于2021-04-20 08:00 被阅读0次
    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"
    

    相关文章

      网友评论

          本文标题:jq的字符串操作

          本文链接:https://www.haomeiwen.com/subject/gueglltx.html