Chinaunix首页 | 论坛 | 博客
  • 博客访问: 292031
  • 博文数量: 137
  • 博客积分: 5351
  • 博客等级: 少校
  • 技术积分: 1456
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-29 15:46
文章存档

2013年(2)

2012年(19)

2011年(116)

分类: Python/Ruby

2012-07-20 18:17:59

在学习shell脚本的时候:
下面是《sed and awk》里面的一段程序
BEGIN {
SUBSEP=":";  
item[1,1]=10;
item[1,2]=20;
item[2,1]=30;
item[2,2]=40;
for (x in item)
print "Index",x,"contains",item[x];
}
SUBSEP=":";    //如果没有定义分隔符的话会把'1,1'当一个字符串处理;当然输出的结果是不正确的;
不定义分割符的正确做法是“1,1”用""实现即intem["1,1"]=10;这个好懂。

ASK:
为什么改变默认分割符(尤其不是逗号的时候),而程序用到的是逗号,能得到正确的结果?
当然SUBSEP=",";也是对的;但也不明白原因。 

在http://www.chemie.fu-berlin.de/chemnet/use/info/gawk/gawk_11.html
讲到了SUBSEP。
在http://www.chemie.fu-berlin.de/chemnet/use/info/gawk/gawk_12.html#SEC121
讲了一些AWK二维数组的格式 name[n SUBSEP m ]
     The two expressions `foo[5,12]' and `foo[5 SUBSEP 12]' are always equivalent.

阅读(8068) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册