有時在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}
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'
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)
