我需要从一个文件创建两个文件。条件是: 如果输入行中的列数等于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 :(得分:0)
使用awk你可以像awk -f script.awk input
这样做,script.awk是:
NR == 1 { next }
NF == 4 { print > "output1" }
NF == 3 { print > "output2" }
NF
条件中的4和3(行中的字段数)。