2017-03-18 25 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(在该行中的字段数)。
  • 第一行跳过标题。
相关问题