数据展开

1250阅读 0评论2014-02-09 yestreenstars
分类:LINUX

原帖:

具体要求请看原帖。

点击(此处)折叠或打开

  1. #!/bin/awk -f
  2. BEGIN{FS="[][]";limit=10}
  3. {
  4.         for(i=0;i++<NF;){
  5.                 if(i%2)t=$i
  6.                 else{
  7.                         if(i>2){
  8.                                 for(j=0;j++<length(b[i-2]);){
  9.                                         for(k=0;k++<split($i,a,"");){
  10.                                                 b[i][++n]=b[i-2][j]""t""a[k]
  11.                                                 if(i==NF-1)b[i][n]=b[i][n]$(i+1)
  12.                                         }
  13.                                         if(n>=limit)break
  14.                                 }
  15.                                 n=0
  16.                         }else for(j=0;j++<split($i,a,"");)b[2][j]=t""a[j]
  17.                 }
  18.         }
  19.         for(i=1;i<=limit&&i<=length(b[NF-1]);i++)print b[NF-1][i] > "file."NR
  20.         delete b
  21. }

上一篇:每隔n行合并为1行
下一篇:在为Windows客户端读取共享列表时发生如下错误