的值的字段的一次出现我有一个制表符分隔的表像下面计数给定的另一场
402 Tea Bags 4
403 Tea Bags 4
404 Tea Bags 3
405 Milk 3
406 Sugar 4
407 Sugar 3
408 Sugar 4
409 Milk 4
410 Milk 3
411 Milk 3
我想要计算给定的第三字段的条件第二场的发生之一。实施例号茶包的发生时第三字段是3和4.Like当
$3==4 && $2=="Tea Bags"; count ++
可以有第三字段多于两个数和在第二列3级以上的选项。
然后,我想最终其列为
Tea Bags 4 2
Tea Bags 3 1
Milk 3 3
Milk 4 1
Sugar 4 2
Sugar 3 1
我可以用
awk -F "\t" '{for(i=1; i<=NF; i++)
if(($i=="Tea Bags" && ($(i+1)==3))) c++ }
END{ print c }' file.txt
不过,我想单独计算它们在awk中应该有一个更短的和有效的方式来做到这一点因为我有一个非常大的文件。谢谢!!
当你说'有可能在第三场超过两个号码,并在第二column.'超过3个选项,你的意思是有第二场比第三场(牛奶,茶叶袋和糖)更多的可能性,你已经显示,同样,第三列有超过两个可能性比你已经显示的两个(3和4)可能吗? –
第二个字段中的选项数永远不会大于第三个。 – discipulus