前言
我們在日常工作中,對于求字符串操作在shell腳本中很常用,實現(xiàn)的方法有很多種,下面就來給大家歸納、匯總了求字符串的幾種可能方法,話不多說了,來一起看看詳細的介紹吧。
方法如下:
【方法一】:利用${#str}來獲取字符串的長度
![](http://img.jbzj.com/file_images/article/201708/2017816103546400.jpg?2017716103555)
【方法二】:利用awk的length方法
![](http://img.jbzj.com/file_images/article/201708/2017816103607785.jpg?2017716103614)
備注:
1) 最好用{}來放置變量
2) 也可以用length($0)
來統(tǒng)計文件中每行的長度
![](http://img.jbzj.com/file_images/article/201708/2017816103635051.jpg?2017716103642)
【方法三】:利用awk的NF項來獲取字符串長度
![](http://img.jbzj.com/file_images/article/201708/2017816103655629.jpg?201771610372)
備注: -F為分隔符,NF為域的個數(shù),即單行字符串的長度
【方法四】:利用wc的-L參數(shù)來獲取字符串的長度
![](http://img.jbzj.com/file_images/article/201708/2017816103802596.png?2017716103811)
備注: -L參數(shù)
1) 對多行文件來說,表示打印最長行的長度! 82,表示/etc/passwd文件最長行的長度為82
2) 對單行字符串而言,表示當前行字符串的長度!
【方法五】:利用wc的-l參數(shù),結(jié)合echo -n參數(shù)
![](http://img.jbzj.com/file_images/article/201708/2017816103828516.png?2017716103835)
備注:
1) -c參數(shù): 統(tǒng)計字符的個數(shù)
2) -n參數(shù): 去除"\n"換行符,不去除的話,默認帶換行符,字符個數(shù)就成了7
【方法六】:利用expr的length方法
![](http://img.jbzj.com/file_images/article/201708/2017816103851169.png?2017716103857)
【方法七】:利用expr的$str : ".*"技巧
![](http://img.jbzj.com/file_images/article/201708/2017816103910577.png?2017716103917)
備注: .*代表任意字符,即用任意字符來匹配字符串,結(jié)果是匹配到6個,即字符串的長度為6
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- 用Shell判斷字符串包含關(guān)系的方法小結(jié)
- linux shell字符串內(nèi)置的常用操作(獲取長度、查找、替換)
- Shell中判斷字符串是否為數(shù)字的6種方法分享
- Shell腳本計算字符串長度和判斷字符串為空小技巧
- shell編程中的字符串截取方法小結(jié)
- Shell腳本實現(xiàn)簡單分割字符串
- Shell腳本實現(xiàn)查找字符串中某字符最后出現(xiàn)的位置
- Linux shell數(shù)組循環(huán)的實例詳解
- linux shell實現(xiàn)求一個多維數(shù)組中的最大和最小值
- shell腳本編程之數(shù)組
- Shell中創(chuàng)建序列和數(shù)組(list、array)的方法
- shell腳本字符串和數(shù)組的使用操作方法