Word-frequency filter

來源:互聯網
上載者:User

摘自 Robbins A., Beebe N. - Classic Shell Scripting - 2005

Chapter 5.


Problem:

Given a text file and an integer n, you are to print the words (and their frequencies of occurrence) whose frequencies of occurrence are among the n largest in order of decreasing frequency.(找到一個文檔中出現次數最多的n哥單詞,並顯示他們的出現次數)


McIlroy’s program illustrates the power of the Unix tools approach: break a complex problem into simpler parts that you already know how to handle. To solve the
word-frequency problem, McIlroy converted the text file to a list of words, one per
line (tr does the job), mapped words to a single lettercase (tr again), sorted the list
(sort), reduced it to a list of unique words with counts (uniq), sorted that list by
descending counts (sort), and finally, printed the first several entries in the list (sed,
though head would work too).

Example 5-5. Word-frequency filter#! /bin/sh# Read a text stream on standard input, and output a list of# the n (default: 25) most frequently occurring words and# their frequency counts, in order of descending counts, on# standard output.## Usage:# wf [n]tr -cs A-Za-z\' '\n' |              Replace nonletters with newlines        tr A-Z a-z |                    Map uppercase to lowercase        sort |                      Sort the words in ascending order                uniq -c |               Eliminate duplicates, showing their counts                sort -k1,1nr -k2 |  Sort by descending count, and then by ascending word                    sed ${1:-25}q   Print only the first n (default: 25) lines; see Chapter 3

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.