Mám několik stovek textových souborů sestávajících z pěti sloupců oddělených tabulátory. První sloupec obsahuje index a následující čtyři počet výskytů. Nyní bych chtěl spočítat počet řádků, které obsahují 3 sloupce s 0 (tj. 7 řádků v příkladu níže).
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
Mohu to kódovat jako smyčku v R, ale protože každý původní soubor obsahuje více než 60 milionů řádků, zajímalo by mě, jestli neexistuje řešení pomocí awk nebo sed a wc -l.
Přijatá odpověď:
Použití GNU sed:
sed -E 's/\t0\>/&/3;t;d' file | wc -l
Jak poukázal Isaac, pokud chceme počítat přesně 3, udělejte toto:
sed -n 's/\t0\>//4;t;s//&/3p' file | wc -l
Sed Odstranění všeho do a včetně prvního období, pokud je na tomto řádku více než jedno období a udělat to pro celý soubor?
Žádný Udc se nezobrazuje pro USB Mass Storage Gadget s Configfs?