Você está quase lá, apenas faça isso no loop:
awk '{for(i=2;i<=NF;i++){if(NR==1)h[i]=$i;else if($i>0.1)x[i]++}}END{for(i in x){print h[i]": "x[i]}}'
Estou tentando descobrir como contar o número de ocorrências de valores que são maiores que alguns números (ou seja, 0,1) em cada coluna e, em seguida, imprimir esse valor para cada coluna. Aqui estariam alguns dados de exemplo, exceto que isso precisaria ser geral, ou seja, funcionar para qualquer número de colunas:
Data Sample1 Sample2 Sample3
row1 0.05 0.12 5.00
row2 0.00 5.00 8.75
row3 1.19 0.00 6.78
E então a saída desejada poderia ser algo como (contar os números maiores que 0.1):
Sample1: 1
Sample2: 2
Sample3: 3
Perl, awk ou coreutils estariam bem, eu só preciso construí-lo em um script bash para gerar algumas estatísticas na tabela de dados.
Eu posso contar uma coluna, mas não sei como fazer isso para todos eles:
gawk -F"\t" 'NR>1 {if ($2>0.1) print $1;}' | wc -l
Agradecemos antecipadamente pela ajuda.