Bash:字符串操作
參考:http://blog.csdn.net/finewings/article/details/5718133
字符串提取
去掉指定前綴
1. ${varible#pattern} ? ? ? ? ? ? ? 從頭開始,左往右,刪除最短的一個pattern結尾的字符串,即截取第一個pattern結尾子串之后的字符串
例如在集群中服務器的主機名一般都是node000,node001,node002之類的有時我們只想提取這個數字編碼ID就可以像如下這樣:
ubuntu@dev00:~$ hn=$(hostname)ubuntu@dev00:~$ echo ${hn#dev} 00當前機器名為dev00,當然還可以加入使用通配符,比如*
$ x="abcdefg" $ echo ${x#*'cd'} efg連前面的ab都去掉了
2. ${varible##pattern} ? ? ? ? ? ? ? 從頭開始,左往右,刪除最長的一個以pattern結尾的子串,即截取最后一個以pattern結尾子串之后的字符串(類似正則里面的貪婪)
例子:將x=“009”~“019”這些字符提取為沒有前導零的形式,由于x中可能有不定個零,可以以最后一個0為截斷位置
ubuntu@dev00:~$ x='009' ubuntu@dev00:~$ echo ${x##*0} 9去除指定后綴
這個和‘去除指定前綴’幾乎一樣,就是方向變了一下,相應的表示的符號也換了一下:
1. ${variable%pattern}
2. ${variable%%pattern}
固定位置
${varible:start:len} ? ? ? ? ? ? ?:截取變量varible從位置start開始長度為len的子串。第一個字符的位置為0。
這個和一般語言里的substr(index, len)一致,(hn=‘dev00’)
ubuntu@dev00:~$ echo ${hn:3:2}?
轉載于:https://www.cnblogs.com/lailailai/p/4565621.html
總結
以上是生活随笔為你收集整理的Bash:字符串操作的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 关于Linux的总结(三)
- 下一篇: Eclipse出现the type ja
