Chinaunix
标题:
awk 字符串连接问题
[打印本页]
作者:
nwpu_wl
时间:
2012-09-11 15:06
标题:
awk 字符串连接问题
有一文件a.txt,文件内容如下:
111111111
222222222
333333333
444444444
555555555
666666666
777777777
888888888
999999999
现用如下awk命令:
cat a.txt |awk '{num=(NR-1)/4;a[num]=(a[num]""$0);printf("NR=%d;num=%d;a[num]=%s\n",NR,num,a[num])}'
复制代码
结果如下:
NR=1;num=0;a[num]=111111111
NR=2;num=0;a[num]=222222222
NR=3;num=0;a[num]=333333333
NR=4;num=0;a[num]=444444444
NR=5;num=1;a[num]=555555555
NR=6;num=1;a[num]=666666666
NR=7;num=1;a[num]=777777777
NR=8;num=1;a[num]=888888888
NR=9;num=2;a[num]=999999999
麻烦大神们解释下,为何字符串的连接操作没有生效呢?
作者:
rdcwayx
时间:
2012-09-11 15:24
a[num]=(a[num]""$0)
复制代码
awk有这种写法吗?
a[num]=a[num]""$0
复制代码
作者:
nwpu_wl
时间:
2012-09-11 15:44
回复
2#
rdcwayx
没有????
作者:
yinyuemi
时间:
2012-09-12 00:16
回复
1#
nwpu_wl
awk '{num=(NR-1)/4;
print num,a[num]=(a[num]""$0);
printf("NR=%d;num=%d;a[num]=%s\n",NR,num,a[num])}' file
观察下红色部分的结果
作者:
samwonwyd
时间:
2012-09-12 09:46
cat a.txt |awk '{num=int((NR-1)/4);a[num]=(a[num]""$0);printf("NR=%d;num=%d;a[num]=%s\n",NR,num,a[num])}'
作者:
nwpu_wl
时间:
2012-09-13 14:32
回复
5#
samwonwyd
太帅了
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2