Chinaunix

标题: 怎样选择取其中数 [打印本页]

作者: ljm1911    时间: 2005-11-13 10:30
标题: 怎样选择取其中数
有三个数,A,B和C。其中A在1至10之间;B在11至20之间;C在21至30之间
若输入其中一个数,怎样判断和输出呢?
作者: 寂寞烈火    时间: 2005-11-13 11:43
try:

  1. read;((REPLY>=1&&REPLY<=10))&&echo A;((REPLY>=11&&REPLY<=20))&&echo B;((REPLY>=21&&REPLY<=30))&&echo C
复制代码

作者: 網中人    时间: 2005-11-14 02:23
  1. case $num in
  2.     [1-9]|10) echo A;;
  3.     1[1-9]|20) echo B;;
  4.     2[1-9]|30) echo C;;
  5.     *) echo out of range;;
  6. esac
复制代码

作者: ljm1911    时间: 2005-11-15 11:10
楼主,用CASE,那么要从1至少30;31至60;61至90呢?怎样运用CASE判断呢?
作者: ljm1911    时间: 2005-11-15 11:13
如果数据1至37;38至76;77至99,又怎样判断呢
作者: li2002    时间: 2005-11-15 11:48
77--99
7[7-9]|[8-9][0-9])

最笨的办法一个个写出来:77|78|79|80...)
作者: 寂寞烈火    时间: 2005-11-15 12:54
原帖由 ljm1911 于 2005-11-15 11:13 发表
如果数据1至37;38至76;77至99,又怎样判断呢

  1. awk 'BEGIN{
  2. if('"$1"'>=1 && '"$1"'<=37){
  3. print "a";
  4. }
  5. else if('"$1"'>=38 && '"$1"'<=76){
  6. print "b";
  7. }
  8. else if('"$1"'>=77 && '"$1"'<=99){
  9. print "c";
  10. }
  11. else {
  12. print "eror";
  13. }
  14. }'
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2