Chinaunix

标题: awk 打印记录问题 [打印本页]

作者: lklkxcxc    时间: 2012-06-27 16:19
标题: awk 打印记录问题
各位好!
       现有一文本文件内容如下:
  1. app1: en3 U5791.001.99B19L5-P2-C02-T1 00112508B823 77.77.77.154
  2. app1: en1 U5791.001.99B19L5-P2-C09-T1 001125BE40D3 10.168.10.17
  3. app1: en0 U5791.001.99B19LD-P2-C01-T1 001125BE6CB8 192.168.1.239
  4. app2: en3 U5791.001.99B19T1-P2-C06-T1 001125BE6B58 192.168.1.240
  5. app2: en2 U5791.001.99B19T1-P2-C02-T1 00145EB8BC7D 77.77.77.150
  6. app2: en0 U5791.001.99B19T1-P2-C09-T1 001125BE6C23 10.168.10.19
复制代码
打算使用
  1. awk '{a[$1]=($2,$3,$4,$5)}for (i in a)END{print i,a[i] }'
复制代码
得到如下结果:
  1. app1: en3 U5791.001.99B19L5-P2-C02-T1 00112508B823 77.77.77.154
  2.           en1 U5791.001.99B19L5-P2-C09-T1 001125BE40D3 10.168.10.17
  3.           en0 U5791.001.99B19LD-P2-C01-T1 001125BE6CB8 192.168.1.239
  4. app2: en3 U5791.001.99B19T1-P2-C06-T1 001125BE6B58 192.168.1.240
  5.          en2 U5791.001.99B19T1-P2-C02-T1 00145EB8BC7D 77.77.77.150
  6.          en0 U5791.001.99B19T1-P2-C09-T1 001125BE6C23 10.168.10.19
复制代码
不能得到想要结果,各位有什么思路,谢谢!

作者: jils2013    时间: 2012-06-27 16:22
我得先猜你想要的结果,这个任务很艰巨
作者: kk5234    时间: 2012-06-27 16:27
本帖最后由 kk5234 于 2012-06-27 16:34 编辑
  1. awk -F: '{print a[$1]++?"     "$2:$1FS$2}' infile
复制代码

作者: winway1988    时间: 2012-06-27 16:31
  1. awk '{a[$1]=a[$1]?a[$1] ORS $2 OFS $3 OFS $4 OFS $5:$2 OFS $3 OFS $4 OFS $5}END{for(i in a)print i,a[i]}'
复制代码

作者: ryh19860922    时间: 2012-06-27 17:06
回复 1# lklkxcxc
  1.     awk '{if($1!=x) {print $0; x=$1}  else {$1=""; print$0 }  }'  file
复制代码

作者: lklkxcxc    时间: 2012-06-27 17:32
回复 3# kk5234

搞定谢谢


   
作者: lmzopq    时间: 2012-06-27 23:16
本帖最后由 lmzopq 于 2012-06-27 23:18 编辑
  1. [root@server tmp]# awk '{if(!a[$1]++){print $0;next};print "  "$2,$3,$4,$5}' 5.txt
  2. app1: en3 U5791.001.99B19L5-P2-C02-T1 00112508B823 77.77.77.154
  3.   en1 U5791.001.99B19L5-P2-C09-T1 001125BE40D3 10.168.10.17
  4.   en0 U5791.001.99B19LD-P2-C01-T1 001125BE6CB8 192.168.1.239
  5. app2: en3 U5791.001.99B19T1-P2-C06-T1 001125BE6B58 192.168.1.240
  6.   en2 U5791.001.99B19T1-P2-C02-T1 00145EB8BC7D 77.77.77.150
  7.   en0 U5791.001.99B19T1-P2-C09-T1 001125BE6C23 10.168.10.19
  8. [root@server tmp]# cat 5.txt
  9. app1: en3 U5791.001.99B19L5-P2-C02-T1 00112508B823 77.77.77.154
  10. app1: en1 U5791.001.99B19L5-P2-C09-T1 001125BE40D3 10.168.10.17
  11. app1: en0 U5791.001.99B19LD-P2-C01-T1 001125BE6CB8 192.168.1.239
  12. app2: en3 U5791.001.99B19T1-P2-C06-T1 001125BE6B58 192.168.1.240
  13. app2: en2 U5791.001.99B19T1-P2-C02-T1 00145EB8BC7D 77.77.77.150
  14. app2: en0 U5791.001.99B19T1-P2-C09-T1 001125BE6C23 10.168.10.19
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2