1. 程式人生 > >Shell腳本中計算字符串長度的5種方法及從文本獲取某一行

Shell腳本中計算字符串長度的5種方法及從文本獲取某一行

文件 問題 txt abc 多種方法 file mtime 計算字符串長度 賦值

有時在Linux操作系統中需要計算某個字符串的長度,通過查詢資料整理了下目前Shell中獲取字符串的長度的多種方法,在這裏分享給大家,方法如下:

方法1: 使用wc -L命令
wc -L可以獲取到當前行的長度,因此對於單獨行的字符串可以用這個簡單的方法獲取,另外wc -l則是獲取當前字符串內容的行數。

代碼如下: echo "abc" |wc -L

方法2: expr length string
使用expr length可以獲取string的長度

方法3: awk獲取域的個數,但是如果大於10個字符的長度時是否存在問題需要後面確認

代碼如下: echo "abc" |awk -F "" ‘{print NF}‘



方法4: 通過awk+length的方式獲取字符串長度

代碼如下: echo “Alex”|awk ‘{print length($0)}‘



方法5: 通過echo ${#string}的方式(註意:這裏的string是該字符串的變量名)

代碼如下: name=Alex
echo ${#name} 1、打印文件的第一列(域) : awk ‘{print $1}‘ filename
2、打印文件的前兩列(域) : awk ‘{print $1,$2}‘ filename
3、打印完第一列,然後打印第二列 : awk ‘{print $1 $2}‘ filename
4、打印文本文件的總行數 : awk ‘END{print NR}‘ filename
5、打印文本第一行 :awk ‘NR==1{print}‘ filename
6、打印文本第二行第一列 :sed -n "2, 1p" filename | awk ‘print $1‘ awk -F ‘,‘ ‘END {print $2}‘ BIRoomTime20160229.txt

shell裏面的賦值方法有兩種,格式為
1) arg=`(命令)`
2) arg=$(命令)
因此,如果想要把某一文件的總行數賦值給變量nlines,可以表達為:
1) nlines=`(awk ‘END{print NR}‘ filename)`
或者
2) nlines=$(awk ‘END{print NR}‘ filename)

Shell腳本中計算字符串長度的5種方法及從文本獲取某一行