日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BASH 中的字符串处理

發(fā)布時間:2023/12/9 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BASH 中的字符串处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
得到長度
  • %x="abcd"
  • #方法一
  • %expr length $x
  • 4
  • # 方法二
  • %echo ${#x}
  • 4
  • # 方法三
  • %expr "$x" : ".*"
  • 4
  • # expr 的幫助
  • # STRING : REGEXP? ?anchored pattern match of REGEXP in STRING
  • 復制代碼

    查找子串
  • %expr index??$x "b"
  • 2
  • %expr index??$x "a"
  • 1
  • %expr index??$x "b"
  • 2
  • %expr index??$x "c"
  • 3
  • %expr index??$x "d"
  • 4
  • 復制代碼

    得到子字符串
  • # 方法一
  • # expr <string> startpos length
  • %expr substr "$x" 1 3
  • abc
  • %expr substr "$x" 1 5
  • abcd
  • %expr substr "$x" 2 5
  • bcd
  • # 方法二
  • # ${x:pos:lenght}
  • %echo ${x:1}
  • bcd
  • %echo ${x:2}
  • cd
  • %echo ${x:0}
  • abcd
  • %echo ${x:0:2}
  • ab
  • %pos=1
  • %len=2
  • %echo ${x:$pos:$len}
  • bc
  • 復制代碼

    匹配正則表達式
  • # 打印匹配長度
  • %expr match $x "."
  • 1
  • %expr match $x "abc"
  • 3
  • %expr match $x "bc"
  • 0
  • 復制代碼

    字符串的掐頭去尾
  • %x=aabbaarealwwvvww
  • %echo "${x%w*w}"
  • aabbaarealwwvv
  • %echo "${x%%w*w}"
  • aabbaareal
  • %echo "${x##a*a}"
  • lwwvvww
  • %echo "${x#a*a}"
  • bbaarealwwvvww
  • 復制代碼
    其中 , # 表示掐頭, 因為鍵盤上 # 在 $ 的左面。
    其中 , % 表示%,??因為鍵盤上 % 在 $ 的右面。
    單個的表示最小匹配,雙個表示最大匹配。
    也就是說,當匹配的有多種方案的時候,選擇匹配的最大長度還是最小長度。

    字符串的替換
  • %x=abcdabcd
  • %echo ${x/a/b} # 只替換一個
  • bbcdabcd
  • %echo ${x//a/b} # 替換所有
  • bbcdbbcd
  • 復制代碼
    不可以使用 regexp , 只能用 * ? 的 文件擴展方式。

    總結

    以上是生活随笔為你收集整理的BASH 中的字符串处理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。