Linux字串操作
描述
shell內置一系列的運算子合,可以對字串進行操作;
常用操作
| 運算式 | 含義 |
|---|---|
| ${#string} | $string的長度 |
| ${string:position} | 在string中從位置position開始提取子串 |
| ${string:position:length} | 在string中從位置position開始提取長度為$length的子串 |
| ${string#substring} | 從變數string的開頭洗掉最短匹配substring的子串 |
| ${string##substring} | 從變數string的開頭洗掉最長匹配substring的子串 |
| ${string%substring} | 從變數string的結尾洗掉最短匹配substring的子串 |
| ${string%%substring} | 從變數string的結尾洗掉最長匹配substring的子串 |
| ${string/substring/replacement} | 使用replacement來代替第一個匹配的substring |
| ${string//substring/replacement} | 使用replacement來代替所有匹配的substring |
| ${string/#substring/replacement} | 使用replacement來代替string前綴匹配的substring |
| ${string/%substring/replacement} | 使用replacement來代替string后綴匹配的substring |
示例
- ${#string}
[root@OpenWrtEXT:test]#test_str='/tmp/test/test/myvar'
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${#test_str}
20
[root@OpenWrtEXT:test]#
- ${string:position}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str:4}
/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str:6}
est/test/myvar
[root@OpenWrtEXT:test]#
- ${string:position:length}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str:6:9}
est/test/
[root@OpenWrtEXT:test]#echo ${test_str:3:5}
p/tes
[root@OpenWrtEXT:test]#
- ${string#substring}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str#*test}
/test/myvar
[root@OpenWrtEXT:test]#
- ${string##substring}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str##*test}
/myvar
[root@OpenWrtEXT:test]#
- ${string%substring}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str%test*}
/tmp/test/
[root@OpenWrtEXT:test]#
- ${string%%substring}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str%%test*}
/tmp/
[root@OpenWrtEXT:test]#
- ${string/substring/replacement}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str/test/abc}
/tmp/abc/test/myvar
[root@OpenWrtEXT:test]#
- ${string//substring/replacement}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str//test/abc}
/tmp/abc/abc/myvar
[root@OpenWrtEXT:test]#
- ${string/#substring/replacement}
[root@OpenWrtEXT:test]#test_str='www.baidu.com'
[root@OpenWrtEXT:test]#echo $test_str
www.baidu.com
[root@OpenWrtEXT:test]#echo ${test_str/#www/abc}
abc.baidu.com
[root@OpenWrtEXT:test]#
- ${string/%substring/replacement}
[root@OpenWrtEXT:test]#echo $test_str
www.baidu.com
[root@OpenWrtEXT:test]#echo ${test_str/%com/abc}
www.baidu.abc
[root@OpenWrtEXT:test]#
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301728.html
標籤:其他
上一篇:Hbase從入門到精通,精心整理的學習筆記,自學黨快來瞅一瞅,趕緊收藏吧!
下一篇:軟體質量控制問題與質量控制技術
