2017-03-18 60 views
0

我需要從一個文件創建兩個文件。條件是: 如果輸入行中的列數等於11,則行將複製到output1。 如果輸入行中的列數等於10,則行將複製到output2。如何從一個文件創建兩個文件,使用作爲條件的列數

例如輸入具有較少柱:

Id_animal Id_SNP Farm Allele 
ID01 rs01 A 1 
ID02 rs01 1 
ID03 rs01 B 2 
ID04 rs01 0 

在這種情況下,行1和行3將去OUTPUT1和行2和3將去OUTPUT2。

OUTPUT1

ID01 rs01 A 1 
ID03 rs01 B 2 

OUTPUT2

ID02 rs01 1 
ID04 rs01 0 

但在我的情況下,行的數目是45927948和列的數目是最大11和分鐘10

回答

0

使用awk你可以這樣做awk -f script.awk input和script.awk是:

NR == 1 { next } 
NF == 4 { print > "output1" } 
NF == 3 { print > "output2" } 
  • 修改4和3中的條件對NF(在該行中的字段數)。
  • 第一行跳過標題。
相關問題