2014-09-19 39 views
0

我有一個文件需要根據搜索模式分成多個文件和不同文件的不同頭文件。我可以拆分文件,但無法爲不同的文件添加不同的頭文件。這裏是我試過的代碼:使用AWK將文件與不同頭文件匹配到文件中將文件拆分爲文件

BEGIN { 
    { 
     a=substr($0,38,2) 

     if(a=="HD") 
     {  
     print"a","b","c"... 
     OFS="|" 
     } 
     if(a=="AS") 
     {  
     print"e","f","g"... 
     OFS="|" 
     } 
    } 
} 
{ 
     a=substr($0,38,2) 

     if(a=="HD") 
     { 
     FIELDWIDTHS="10 8 10 9 2 1 1 11 14 14 14 14 14 14 14 14 8 60 30 30 32 32 27 18 11 346" 
     OFS="|" 
     } 
     if(a=="AS") 
     {  
     FIELDWIDTHS="10 8 10 9 2 1 7 30 14 14 14 14 625" 
     OFS="|" 
     } 
} 
{ 
    $1=$1 
    print > a".txt" 
} 
+0

值得一提的是'FIELDWIDTHS'是徒勞無功的擴展:而且據我看到的,設置FIELDWITHS如果它是在BEGIN塊設置(或更改輸入文件......時)只有正常工作。我已經添加了標籤。 – 2014-09-19 08:27:03

回答

0

你爲什麼不像下面那樣做?

awk 'NR=1 { HEADER1 = "whatever" ; HEADER2 = "whatever2" ; 
      print HEADER1 > FIRSTFILE ; 
      print HEADER2 > SECONDFILE ; 
     } 
    { a=substr($0,38,2) 
     OFS="|" 
     print $0 >> a".txt" 
    }' INPUTFILE 
相關問題