Shell獲取字符串長度的多種方法總結(jié)
前言
我們在日常工作中,對于求字符串操作在shell腳本中很常用,實(shí)現(xiàn)的方法有很多種,下面就來給大家歸納、匯總了求字符串的幾種可能方法,話不多說了,來一起看看詳細(xì)的介紹吧。
方法如下:
【方法一】:利用${#str}來獲取字符串的長度

【方法二】:利用awk的length方法

備注:
1) 最好用{}來放置變量
2) 也可以用length($0)來統(tǒng)計文件中每行的長度

【方法三】:利用awk的NF項來獲取字符串長度

備注: -F為分隔符,NF為域的個數(shù),即單行字符串的長度
【方法四】:利用wc的-L參數(shù)來獲取字符串的長度

備注: -L參數(shù)
1) 對多行文件來說,表示打印最長行的長度! 82,表示/etc/passwd文件最長行的長度為82
2) 對單行字符串而言,表示當(dāng)前行字符串的長度!
【方法五】:利用wc的-l參數(shù),結(jié)合echo -n參數(shù)

備注:
1) -c參數(shù): 統(tǒng)計字符的個數(shù)
2) -n參數(shù): 去除"\n"換行符,不去除的話,默認(rèn)帶換行符,字符個數(shù)就成了7
【方法六】:利用expr的length方法

【方法七】:利用expr的$str : ".*"技巧

備注: .*代表任意字符,即用任意字符來匹配字符串,結(jié)果是匹配到6個,即字符串的長度為6
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- 用Shell判斷字符串包含關(guān)系的方法小結(jié)
- linux shell字符串內(nèi)置的常用操作(獲取長度、查找、替換)
- Shell中判斷字符串是否為數(shù)字的6種方法分享
- Shell腳本計算字符串長度和判斷字符串為空小技巧
- shell編程中的字符串截取方法小結(jié)
- Shell腳本實(shí)現(xiàn)簡單分割字符串
- Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置
- Linux shell數(shù)組循環(huán)的實(shí)例詳解
- linux shell實(shí)現(xiàn)求一個多維數(shù)組中的最大和最小值
- shell腳本編程之?dāng)?shù)組
- Shell中創(chuàng)建序列和數(shù)組(list、array)的方法
- shell腳本字符串和數(shù)組的使用操作方法
相關(guān)文章
Linux消息隊列實(shí)現(xiàn)進(jìn)程間通信實(shí)例詳解
這篇文章主要介紹了Linux消息隊列實(shí)現(xiàn)進(jìn)程間通信實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07
shell實(shí)現(xiàn)自動備份mysql、整站數(shù)據(jù)的兩個腳本分享
這篇文章主要介紹了shell實(shí)現(xiàn)自動備份mysql、整站數(shù)據(jù)的兩個腳本分享,使用了cron實(shí)現(xiàn)實(shí)現(xiàn)定時備份,并會自動刪除N天前的備份,以及自動FTP上傳到別的服務(wù)器,需要的朋友可以參考下2014-06-06
Linux?signal()函數(shù)的使用學(xué)習(xí)
這篇文章主要為大家介紹了Linux?signal()函數(shù)的使用學(xué)習(xí)及示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例
這篇文章主要介紹了Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例,文中分別使用了bc或awk實(shí)現(xiàn),需要的朋友可以參考下2014-06-06
使用shell腳本對Nginx日志進(jìn)行切分的示例代碼
本篇文章主要介紹了使用shell腳本對Nginx日志進(jìn)行切分的示例代碼,具有一定的參考價值,有興趣的可以了解一下2017-08-08

