GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menghitung jumlah nilai unik suatu bidang dalam file teks yang dibatasi tab?

Anda dapat menggunakan cut , sort dan uniq perintah sebagai berikut:

cat input_file | cut -f 1 | sort | uniq

mendapatkan nilai unik di bidang 1, mengganti 1 dengan 2 akan memberi Anda nilai unik di bidang 2.

Menghindari UUOC :)

cut -f 1 input_file | sort | uniq

EDIT:

Untuk menghitung jumlah kejadian unik, Anda dapat menggunakan wc perintah dalam rantai sebagai:

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

Anda dapat menggunakan awk, sort &uniq untuk melakukan ini, misalnya untuk mencantumkan semua nilai unik di kolom pertama

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

Seperti yang diposting di tempat lain, jika Anda ingin menghitung jumlah instance dari sesuatu, Anda dapat menyalurkan daftar unik ke wc -l


Linux
  1. Cara Mudah Menambahkan Teks ke Akhir File di Linux

  2. Menggunakan Uniq Pada Teks Unicode?

  3. Bagaimana Menghitung Jumlah Baris Dalam File Setelah Pertandingan Grep?

  1. Cara Menghitung Jumlah Baris dalam File di Linux (Contoh Perintah wc dan nl)

  2. menemukan nilai unik dalam file data

  3. Bagaimana cara menambahkan teks ke file?

  1. Cara mengurutkan file di tempat

  2. Bagaimana cara menghitung jumlah byte dalam sebuah file, mengelompokkan byte yang sama?

  3. Bagaimana mengurutkan keluaran ini 1,10,11..2