免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3785 | 回复: 4
打印 上一主题 下一主题

awk的split函数返回值为什么不能用这种方式查看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-06-17 22:21 |只看该作者 |倒序浏览
创建一个脚本judgetime,内容如下:

ls -l $*|awk '{split($8,hour,":";if((hour[1]>23 || hour[1] < 1)&&hour[1]<24)print}'

为什么split函数返回的数组hour不能用printf("%s",hour)这样的形式打印出来,只能printf("%d",hour[1]),printf("%d",hour[2])这样来打印。

请高手指 教返回的数组是什么类型的!

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-06-17 22:24 |只看该作者

awk的split函数返回值为什么不能用这种方式查看

请高手指  返回的数组是什么类型的!

数组,只能通过数组名的下标访问。

论坛徽章:
0
3 [报告]
发表于 2003-06-17 22:40 |只看该作者

awk的split函数返回值为什么不能用这种方式查看

哦,整型数组不是字符串数组,如果是字符串数组,可以通过printf("%s",str1)的形式来访问的,是吧?
     可能字符串的地址看的太多了,就有一种惯性,认为数组名代表地址,就可以象char str[10]一样print("%s",str)了,整型的是不能这样的。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-06-17 23:23 |只看该作者

awk的split函数返回值为什么不能用这种方式查看

在awk中字符串数组也不可以这样操作的。

论坛徽章:
0
5 [报告]
发表于 2003-06-18 07:43 |只看该作者

awk的split函数返回值为什么不能用这种方式查看

原帖由 "penda" 发表:
创蛴 ?

请高手指 教返回的数组是什么类型的!
   
你说的东西在PERL里边可以直接用PRINT直接把整个数组里的内容全打印出来,但是SHELL里还没听说过~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP