Saya memiliki perintah yang akan bekerja melalui file teks, menghitung semua kemunculan kata-kata dan mencetaknya seperti ini:
[email protected] $˜ magic-command-i-forgot | with grep | and awk | sort ./textfile.txt
66: the
54: and
32: I
16: unix
12: bash
5: internet
3: sh
1: GNU/Linux
Jadi itu tidak mencari baris demi baris, tetapi kata demi kata, dan ia melakukannya untuk semua kata, bukan hanya untuk 1 kata. Saya telah menemukannya di suatu tempat di internet sejak lama, tetapi saya tidak dapat menemukan atau mengingatnya..
Jawaban yang Diterima:
Saya akan menggunakan tr
bukannya awk :
echo "Lorem ipsum dolor sit sit amet et cetera." | tr '[:space:]' '[\n*]' | grep -v "^\s*$" | sort | uniq -c | sort -bnr
tr
hanya mengganti spasi dengan baris barugrep -v "^\s*$"
memangkas baris kosongsort
untuk mempersiapkan sebagai input untukuniq
uniq -c
untuk menghitung kejadiansort -bnr
mengurutkan dalam urutan terbalik numerik sambil mengabaikan spasi
wow. ternyata itu adalah perintah yang bagus untuk menghitung umpatan per baris
Temukan . -nama “*.py” -exec cat {} \; | tr ‘[:spasi:]’ ‘[\n*]’ | grep -v “^\s*$” | urutkan | uniq -c | sort -bnr | sial sekali