Jika saya memiliki file teks dengan persetujuan berikut
red apple
green apple
green apple
orange
orange
orange
Apakah ada perintah atau skrip Linux yang dapat saya gunakan untuk mendapatkan hasil berikut?
1 red apple
2 green apple
3 orange
linux
text
duplicates
timeon
sumber
sumber
-d
catatan kecil itu .uniq -c file
dan jika file belum diurutkan:
sort file | uniq -c
sumber
Coba ini
sumber
sumber
Bisakah Anda hidup dengan daftar urutan abjad:
?
atau
-u singkatan dari unique, dan keunikan hanya bisa dicapai melalui sortasi.
Solusi yang mempertahankan pesanan:
dan, dengan file
Dua yang terakhir hanya menghapus duplikat, yang segera mengikuti - yang sesuai dengan contoh Anda.
Akan mencetak dua apel, dibelah dengan pisang.
sumber
Untuk hanya menghitung:
Untuk mendapatkan hitungan yang diurutkan:
EDIT
Aha, ini BUKAN di sepanjang batas kata, saya buruk. Inilah perintah yang digunakan untuk baris penuh:
sumber
Berikut adalah script python sederhana menggunakan tipe Counter . Manfaatnya adalah ini tidak memerlukan pengurutan file, pada dasarnya menggunakan nol memori:
Keluaran:
atau Anda dapat menggunakan satu baris sederhana:
sumber