Bash里的字符串變量操作
有時候我們需要對變量進行一些操作,比如截取,替換,刪除等操作,很多同學會使用awk, sed 或cut等命令來干這事,其實,bash的內置的變量操作就可以干這個事。下面說明一些常用的方法:
這些操作需要使用 ${var} 這種變量的寫法(用花括號)。
${#var} 輸出 var的字符串長度
${var:pos:len} 你可以理解為變量的切片操作。如:
> var=0123456789
> echo ${var:2}
23456789
> echo ${var:2:2}
23
> echo ${var:2:3}
234
> echo ${var::1}
0
> echo ${var::-2}
01234567
${var#word} 或 ${var##word} 刪除匹配word的前綴,#為最短匹配,##為最長匹配
${var%word} 或 ${var%%word} 刪除匹配word的后綴,%為最短匹配,%%為最長匹配
> var=ababcdcd
> echo ${var#a*b}
abcdcd
> echo ${var##a*b}
cdcd
> echo ${var%c*d}
ababcd
> echo ${var%c*d}
ababcd
> echo ${var%%c*d}
abab
> echo ${var#a*b}
abcdcd
> echo ${var##a*b}
cdcd
> echo ${var%c*d}
ababcd
> echo ${var%c*d}
ababcd
> echo ${var%%c*d}
abab
${var/pattern/replacement} 替換第一個匹配
${var//pattern/replacement} 替換所有的匹配
> echo ${var/ab/01}
01abcdcd
> echo ${var//ab/01}
0101cdcd
來自:http://www.weibo.com/p/1001603799603303583776
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!