Bash-截取括号内内容


  1. 使用grep(结果带括号,不知道有没有办法仅把括号中的内容匹配出来)

    $a='abc[edg]adfirpqu'
    $echo $a|grep -o '\[.*\]' #中括号的处理需要转义
    [edg]
        
    
    $b='abc(edg)adfirpqu'
    $echo $b|grep -o '(.*)'
     (edg)
  2.  使用cut

    $a='abc[edg]adfirpqu'
    $echo $a|cut -d '[' -f2|cut -d ']' -f1
    edg
        
    
    $b='abc(edg)adfirpqu'
    $echo $a|cut -d '(' -f2|cut -d ')' -f1
    edg
  3. 使用字符串截取

    $a='abc[edg]adfjaierqpwe'
    $b=${a#*[}
    $echo $b
    edg]adfjaierqpwe`
    
    
    $c=${b%]*}
    $echo $c
    edg

文章作者: 田山
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 田山 !
  目录