Tengo varios cientos de archivos de texto que consisten cada uno en cinco columnas delimitadas por tabulaciones. La primera columna contiene un índice y las cuatro siguientes el recuento de ocurrencias. Ahora me gustaría contar el número de filas que contienen 3 columnas con 0 (es decir, 7 filas en el ejemplo a continuación).
1 0 0 0 9
2 0 9 0 0
3 10 0 0 0
4 0 10 4 0
5 0 0 0 10
6 0 0 0 10
7 0 0 0 10
8 0 10 0 0
9 5 0 5 0
Puedo codificar esto como un bucle en R, pero como los archivos originales contienen cada uno más de 60 millones de filas, me pregunto si no hay una solución alternativa con awk o sed y wc -l.
Respuesta aceptada:
Usando GNU sed:
sed -E 's/\t0\>/&/3;t;d' file | wc -l
Como señaló Isaac, si queremos contar exactamente 3, hagamos esto:
sed -n 's/\t0\>//4;t;s//&/3p' file | wc -l