Chinaunix

标题: Awk command [打印本页]

作者: zhaobin81    时间: 2009-04-14 14:12
标题: Awk command
Hi
I have a input file like the below:

V1^a,b
V1^a
V2^b,c
V1^a,b,c
V2^c,d
V3^e,a,f

I want the output file like the below.

V1^a
V1^b
V1^a
V2^b
V2^c
V1^a
V1^b
V1^c
V2^c
V2^d
v3^e
V3^a
V3^f
作者: eeeef    时间: 2009-04-14 14:14

  1. [root@maxxm bin]# awk -F',' '{print $1}' inputfile > outputfile
复制代码

作者: zhaobin81    时间: 2009-04-14 14:16
标题: 回复 #2 eeeef 的帖子
不是这个意思
没这么简单
在仔细看一下吧
作者: eeeef    时间: 2009-04-14 14:19
标题: 回复 #3 zhaobin81 的帖子
噢,看走眼了。呵呵
作者: youshuang    时间: 2009-04-14 14:19
标题: 回复 #1 zhaobin81 的帖子
awk -F"[\^,]" '{for(i=2;i<=NF;i++)print $1"^"$i}' inputfile
作者: eeeef    时间: 2009-04-14 14:27

  1. [root@maxxm bin]# awk 'BEGIN{FS="[,^]"}{i=2;while(i<=NF){printf("%s^%s\n",$1,$i);i++}}' inputfile
复制代码

作者: ywlscpl    时间: 2009-04-14 15:18
  1. [root@Mylinux tmp]# awk -F "^" '{split($2,M,",");for (i=1;i<=split($2,M,",");i++) print $1"^"M[i]}' file
  2. V1^a
  3. V1^b
  4. V1^a
  5. V2^b
  6. V2^c
  7. V1^a
  8. V1^b
  9. V1^c
  10. V2^c
  11. V2^d
  12. V3^e
  13. V3^a
  14. V3^f
复制代码





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