免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: javajavaclone
打印 上一主题 下一主题

awk输出 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-08-05 17:42 |只看该作者

论坛徽章:
0
12 [报告]
发表于 2009-08-05 17:44 |只看该作者
  1. [root@Mylinux tmp]# awk -F ":" '{print $1;v=v?v"\n"$2:$2}END{print v}' file
  2. a
  3. c
  4. b
  5. d
复制代码

论坛徽章:
0
13 [报告]
发表于 2009-08-05 17:46 |只看该作者
gawk -v FS=":" '{a[$1]=1;b[$2]} END{for(i in a) print i; for(j in b) print j;}' file.txt

论坛徽章:
0
14 [报告]
发表于 2009-08-05 17:52 |只看该作者

回复 #13 yy_galois 的帖子

awk数组是hash数组,顺序会乱的,此题刚好没乱

  1. [root@Mylinux tmp]# cat file
  2. a:b
  3. c:d
  4. 1:xxx
  5. [root@Mylinux tmp]# gawk -v FS=":" '{a[$1]=1;b[$2]} END{for(i in a) print i; for(j in b) print j;}' file
  6. a
  7. c
  8. 1
  9. b
  10. xxx
  11. d
复制代码

论坛徽章:
0
15 [报告]
发表于 2009-08-05 17:54 |只看该作者

回复 #14 ywlscpl 的帖子

哦。原来还有这个问题。

thanks。

论坛徽章:
0
16 [报告]
发表于 2009-08-05 17:56 |只看该作者
awk -F ":" '{print $1;v=v?v"\n"$22}END{print v}' file


这个方法确实先进。

学习了。

论坛徽章:
0
17 [报告]
发表于 2009-08-05 17:57 |只看该作者

回复 #14 ywlscpl 的帖子

那为什么 
  1. awk -F'[:]' '{a[$1]=$2};END{for(i in a) {print i};for(i in a) {print a[i]}}'  ulfile
复制代码


这样就没问题呢?

论坛徽章:
0
18 [报告]
发表于 2009-08-05 18:01 |只看该作者

回复 #17 chenwenming 的帖子

数据的原因没有使乱序体现出来
  1. [root@Mylinux tmp]# cat file
  2. a:b
  3. c:d
  4. jjj:xxx
  5. [root@Mylinux tmp]# awk -F'[:]' '{a[$1]=$2};END{for(i in a) {print i};for(i in a) {print a[i]}}' file
  6. jjj
  7. a
  8. c
  9. xxx
  10. b
  11. d
复制代码

论坛徽章:
0
19 [报告]
发表于 2009-08-05 18:11 |只看该作者

回复 #18 ywlscpl 的帖子

多谢 ywlscpl 指正。 

  1. awk -F'[:]' '{a[$1]=$2};{if($1 in a) print $1 ;if($1 in a)print a[$1]}' ulfile
复制代码


这样就不会出现hash排序的问题了吧。

论坛徽章:
0
20 [报告]
发表于 2009-08-05 18:25 |只看该作者

回复 #19 chenwenming 的帖子

非得用数组的话可以用定序的变量做下标
  1. awk -F ":" '{print $1;a[NR]=$2}END{for (i=1;i<=NR;i++) print a[i]}' file
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP