在unixshell下,寫有一個shell,測字符串長度?有這樣的函數(shù)嗎?
如果A變量為空的話,在if中怎么表達,直接寫 if [[ $A == ]],“==”后邊我怎么表示這個空值?
——————————————————–
shell里面如何獲取字符串長度?
len=`expr length $str`
len=`echo $str|awk ‘{print length($0)}’`
if [ X$A = X ]
——————————————————–
shell里面如何獲取字符串長度?
# 判斷變量是否為空
if [ -z ${A} ]; then
…
fi
# 得到字符串的長度
str=”hello”
echo ${str} | wc -L
——————————————————–
expr length “the string you want to get length!”
例如:輸入命令:
expr length “abcd”
將得到結果 4
另外expr 還可以對字符串取substr ,index等,可以輸入expr –help
查看詳細用法
——————————————————–
echo ${#s}
shell里面如何獲取字符串長度?
——————————————————–
“如果A變量為空的話,在if中怎么表達,直接寫 if [[ $A == ]],“==”后邊我怎么表示這個空值?”
if [ “$param” = ‘’ ];then
command
fi
注意$param用雙引號括起來,否則當為空的時候,會出錯。
總結樓上各位
[size=5][size=3]計算字符串長度可用的三種方法:
echo “$str”|awk ‘{print length($0)}’
expr length “$str”
echo “$str”|wc -c
但是第三種得出的值會多1,可能是把結束符也計算在內(nèi)了
判斷字符串為空的方法有三種:
if [ “$str” = “” ]
if [ x”$str” = x ]
if [ -z “$str” ]
注意:都要代雙引號,否則有些命令會報錯,養(yǎng)成好習慣吧!
可能用AWK 穩(wěn)定一些
以前在用的時候,發(fā)現(xiàn)AWK的測試最為穩(wěn)定和準確
UNIX 其它命令有時會出現(xiàn)誤差和意外,尤其是在測試漢字串時
posted on 2008-03-11 14:11
megax 閱讀(1235)
評論(0) 編輯 收藏 引用 所屬分類:
原創(chuàng)