2013-05-01 77 views
0

我想通過這種方式來追加行一些新的文件使用awk:如何追加行到一個新的文件,AWK

#!/usr/bin/awk -f 

BEGIN { 
    FS = "[ \t|]"; } 
{ 
    print $5 "\t" $13 "\t" $14 >> "./bed/" $5 ".bed"; 
} 
END { 
} 

新文件與AWK輸入文件的領域獲取文件名創建(第5場)。我無法執行此腳本,因爲它失敗

awk: ./blast2bed.awk:6: (FILENAME=blastout000 FNR=1) fatal: can't redirect to `./bed/AY517392.1.bed' (No such file or directory) 

任何提示?

感謝

回答

2

目錄bed必須存在,因此與mkdir bed首先創建它,你運行腳本之前或在BEGIN塊。你還應該加上括號輸出文件:

print $5"\t"$13"\t"$14 >> ("./bed/"$5".bed") 

注意:您不需要結束與;行,如果你有一行一條語句和BEGINEND塊是可選的。

+1

...對不起...我創建牀上目錄第一;然後我用Dropbox中的選擇性同步取消選擇它,然後它就消失了。儘管如此,感謝您的快速回答..就是這樣。 – gc5 2013-05-01 11:03:03