Ho diverse centinaia di file di testo costituiti ciascuno da cinque colonne delimitate da tabulazioni. La prima colonna contiene un indice e le successive quattro il conteggio delle occorrenze. Ora vorrei contare il numero di righe che contengono 3 colonne con 0 (cioè 7 righe nell'esempio seguente).
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
Posso codificarlo come un ciclo in R, ma poiché i file originali contengono ciascuno oltre 60 milioni di righe, mi chiedo se non ci sia una soluzione alternativa con awk o sed e wc -l.
Risposta accettata:
Utilizzando GNU sed:
sed -E 's/\t0\>/&/3;t;d' file | wc -l
Come sottolineato da Isaac, se vogliamo contare 3 esatti, allora fai questo:
sed -n 's/\t0\>//4;t;s//&/3p' file | wc -l