Anda dapat dengan mudah melakukan ini dengan perintah bawaan.
- Beri makan isi file
sort
. Kami membutuhkan ini untuk langkah selanjutnya.
- Ini berlaku untuk
uniq -c
. Ini akan menghitung kemunculan unik dari setiap baris. Jika garis yang serupa tidak berdekatan, ini tidak akan berhasil tanpa menyortir sebelumnya.
- Kemudian, beri makan ke yang lain
sort
, yang sekarang mengurutkan dalam urutan terbalik ( r
) dan berdasarkan n
interpretasi numerik ( ) dari uniq
output. Kita perlu opsi numerik karena jika tidak, ruang di depan nomor akan mengakibatkan hasil yang salah (lihat GNU sort
bantuan 's untuk lebih).
- Akhirnya, hanya tampilkan dua belas baris pertama dengan
head
.
Perintahnya adalah:
sort test.txt | uniq -c | sort -rn | head -n 12
Output di sini berisi jumlah kejadian yang sebenarnya.
Untuk hanya mendapatkan daftar garis mentah, Anda dapat menyalurkan output ke sed
:
sort test.txt | uniq -c | sort -rn | head -n 12 | sed -E 's/^ *[0-9]+ //g'
Contoh:
I'm not there very often
I'm not there very often
Look at me!
Look at me!
Look at me!
Hello there!
Hello there!
Hello there!
Hello there!
Hello there!
Hello there!
Output dari perintah pertama, tetapi hanya memilih 2 dari head
:
6 Hello there!
3 Look at me!
Output dari perintah kedua:
Hello there!
Look at me!