当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : bash模拟两维数组
帖子发表于 : 2011-04-22 8:41 

注册: 2009-07-01 22:04
帖子: 919
送出感谢: 0 次
接收感谢: 13
不知 有没有实用价值,至少有多维数组效果。
kose5@kose5-Aspire-4552:~$ cat s4
3 -48649.13278 368120 1516 -5372
-37467 -31 -5 4261 798456.596500
1 3209.548633 3739275 41 -171.883401
641 -1 252742 -227590 2.3424
87714 432.718208 9283284 3588514.631154 -3
-3 -3958.592141 5579.114579 -1.505335 -55.275932
-959 279637.899847 9622.225470 -9753.993507 438083
25517.210681 -5806941.361655 -2 26.755458 20772
-67 17692 1.305684 92 -56921
54601 -7494.483416 -689496.816738 -3.905398 98.406025
kose5@kose5-Aspire-4552:~$

代码:
kose5@kose5-Aspire-4552:~$ cat t1.sh
#!/bin/bash

function f_show_file_number
{
         echo ${a_file[${1}0${2}]}
}
while read line;do
   ((l++))
   c=0
   for i in $line;do
      ((c++))
      a_file[${l}0${c}]=$i
   done
   if [[ $l%10 -eq 0 ]];then
      echo $l
   fi
done <$1
echo "共 $l 行,${#a_file[@]} 个数字。"
while read -p "要查询第 x 行第 y 个数字(x y)?  " x y;do
         number=$(f_show_file_number $x $y)
         if [[ -n $number ]];then
                 echo "文本 $1 中第 $x 行第 $y 个数字是:" [$number]
         else
                 echo "无此数字"
         fi
    echo
done
echo
   
kose5@kose5-Aspire-4552:~$

kose5@kose5-Aspire-4552:~$ ./t1.sh s4
10
共 10 行,50 个数字。
要查询第 x 行第 y 个数字(x y)? 2 3
文本 s4 中第 2 行第 3 个数字是: [-5]

要查询第 x 行第 y 个数字(x y)? 2 6
无此数字

要查询第 x 行第 y 个数字(x y)? 2 5
文本 s4 中第 2 行第 5 个数字是: [798456.596500]

要查询第 x 行第 y 个数字(x y)? ^C
kose5@kose5-Aspire-4552:~$


_________________
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: bash模拟两维数组
帖子发表于 : 2011-04-22 11:37 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
用过一次。
只是觉得bash作这,真蛋痛。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: bash模拟两维数组
帖子发表于 : 2011-04-24 20:52 
头像

注册: 2007-03-24 23:45
帖子: 2357
送出感谢: 0 次
接收感谢: 9
shell能力有限,不要强shell所难,例如浮点结算……


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译