亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容) [打印本頁]

作者: rain0216    時間: 2001-11-19 16:43
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)


作者: mygod    時間: 2001-11-19 16:55
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
假設要判斷的變量為name,則方法如下:
asd=`echo $name | awk '{
  if (substr($1,1,1)>=0 &amp;&amp; substr($1,1,1) <=9 &amp;&amp;
      substr($1,2,1) >=0 &amp;&amp; substr($1,2,1) <=9 &amp;&amp;
      substr($1,3,1) >=0 &amp;&amp; substr($1,3,1) <=9 &amp;&amp;
      substr($1,4,1) >=0 &amp;&amp; substr($1,4,1) <=9)
      printf(&quot;true&quot;
  else
      printf(&quot;false&quot;
   
}'`

if [ asd = &quot;true&quot; ] #是數(shù)字
。。。。
elif  #不是數(shù)字
。。。

這個辦法比較笨,不知其他人有沒有更好的方法!

作者: liangzi    時間: 2001-11-22 15:15
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
作者: liangzi    時間: 2001-11-22 15:37
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽
作者: mygod    時間: 2001-11-22 15:39
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
對,好辦法!
作者: shuweich    時間: 2001-12-01 12:49
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
# cat zcc
V=$1
if ! echo $V|grep '.....' >/dev/null
then
        if echo $V|grep '[0-9][0-9][0-9][0-9]' >/dev/null
        then
                echo &quot;ok&quot;
        else
                echo &quot;bad number&quot;
        fi
else
        echo 'bad number'
fi
# ./zcc 1234
ok.
# ./zcc 123333
bad number
# ./zcc 123
bad number

試試如何?
作者: hyxdh    時間: 2002-01-20 21:19
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
為何不用case呢?更簡單!
case $a in
     [0-9][0-9][0-9][0-9]) echo&quot;變量是由4個數(shù)字組成&quot;;;
     *) echo &quot;變量不是由4個數(shù)字組成&quot;;;
esac

作者: caoshun    時間: 2002-02-05 10:34
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
還是用CASE這種方法比較高。
作者: michaelds    時間: 2002-03-21 17:48
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
借這個帖子提醒大家,模式匹配用了awk,grep,case這些常用的,可別忘了還有expr啊。有時反而更直接。對于本例:
expr $str : '^[0-9][0-9][0-9][0-9]$'
如果值為4就是滿足要求的串,否則為0。
作者: valentine    時間: 2002-03-21 23:08
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
[這個貼子最后由valentine在 2002/03/21 11:42pm 編輯]

grep,awk,expr,case全用到了。
討論熱烈的一個好貼。
偶用 expr $1 : [0-9]* |grep 4


作者: michaelds    時間: 2002-03-22 09:26
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
valentine ,偷懶可不行啊,對于expr $1 : [0-9]*來說,如果$1=&quot;1234a&quot;的話結(jié)果也是4。
作者: valentine    時間: 2002-03-22 10:50
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
michaelds     確實邏輯嚴密啊。
加個$限制一下好了。
expr $1 : &quot;[0-9]*$&quot; |grep 4
作者: 獨孤求勝    時間: 2002-11-06 21:35
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
如果測試變量a
test $a -gt 999 -a $a -lt 10000 2>/dev/nul
再判斷$?就OK了
作者: torrent    時間: 2002-11-09 10:52
標題: 在shell程序中如何判斷一個變量是不是由4個數(shù)字組成? (無內(nèi)容)
下面引用由valentine2002/03/22 10:50am 發(fā)表的內(nèi)容:
michaelds     確實邏輯嚴密啊。
加個$限制一下好了。
expr $1 : &quot;*$&quot; |grep 4
什么時候才能像版主一樣高。!
作者: lovesaka    時間: 2006-10-03 01:46

  1. if [[ "$str" =~ "\b[0-9]{4}\b" ]]
復制代碼

作者: 寂寞烈火    時間: 2006-10-03 02:12
原帖由 lovesaka 于 2006-10-3 01:46 發(fā)表

  1. if [[ "$str" =~ "\b[0-9]{4}\b" ]]
復制代碼

這需要bash3.0吧
這樣如何
[[ $str == [0-9][0-9][0-9][0-9] ]]
作者: lovesaka    時間: 2006-10-03 02:27
原帖由 寂寞烈火 于 2006-10-3 02:12 發(fā)表

這需要bash3.0吧
這樣如何
[[ $str == [0-9][0-9][0-9][0-9] ]]

哦忘了那時候還沒有這個
哈哈
丟人了

還是火哥你牛B我還是新手不知道以前版本啥樣的翻了老貼別見怪

[ 本帖最后由 lovesaka 于 2006-10-3 02:40 編輯 ]
作者: awk就是awp加ak    時間: 2006-10-03 11:53
if 里面的
=~
是蝦米意思?
作者: lovesaka    時間: 2006-10-04 02:49
原帖由 awk就是awp加ak 于 2006-10-3 11:53 發(fā)表
if 里面的  是蝦米意思?

猜都猜得出
作者: awk就是awp加ak    時間: 2006-10-04 10:17
也只能靠猜得了。我這每 bash3
作者: 寂寞烈火    時間: 2006-10-04 12:51
原帖由 awk就是awp加ak 于 2006-10-4 10:17 發(fā)表
也只能靠猜得了。我這每 bash3

有些類似perl的綁定~
作者: awk就是awp加ak    時間: 2006-10-05 12:08
謝謝!不過 perl 我也一竅不通
日后和它有緣的話再說吧




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2