GNU/Linux >> Znalost Linux >  >> Linux

Jak spočítat počet jedinečných hodnot pole v textovém souboru odděleném tabulátory?

Můžete použít cut , sort a uniq příkazy takto:

cat input_file | cut -f 1 | sort | uniq

získá jedinečné hodnoty v poli 1, nahrazením 1 číslem 2 získáte jedinečné hodnoty v poli 2.

Vyhněte se UUOC :)

cut -f 1 input_file | sort | uniq

UPRAVIT:

Chcete-li spočítat počet jedinečných výskytů, můžete použít wc příkaz v řetězci jako:

cut -f 1 input_file | sort | uniq | wc -l

awk -F '\t' '{ a[$1]++ } END { for (n in a) print n, a[n] } ' test.csv

K tomu můžete použít awk, sort &uniq, například k vypsání všech jedinečných hodnot v prvním sloupci

awk < test.txt '{print $1}' | sort | uniq

Jak je uvedeno jinde, pokud chcete spočítat počet výskytů něčeho, můžete jedinečný seznam umístit do wc -l


Linux
  1. Jak snadno přidat text na konec souboru v Linuxu

  2. Jak spočítat počet řádků v souboru po zápase Grep?

  3. Jak počítat počet řádků v souboru v Linuxu (příklady wc a nl)

  1. Jak převedu volání podprocesu do textového souboru?

  2. Jak seřadit soubor na základě jeho číselných hodnot pro pole?

  3. Jak vygenerovat seznam jedinečných řádků v textovém souboru pomocí skriptu Linux shell?

  1. Jak připojím text k souboru?

  2. Jak třídit soubor na místě

  3. Jak spočítat počet bajtů v souboru seskupením stejných bajtů?