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