英語の単語の出現頻度を数えるtrコマンドの魔法

英語の単語の出現頻度を数えるtrコマンドの魔法

置換を削除したり文字列を削除したりできる tr コマンドは、誰もがよく知っています。 英語では、英語に出現する単語の頻度を数える必要があることがよくあります。従来の方法を使用して計算機を設定し、1つずつ数えると、かなり時間がかかります。このとき、trコマンドを使用して、分割されたスペースを改行文字に置き換え、次にtrコマンドを使用して、いくつかの単語の後のピリオド、カンマ、感嘆符を削除します。まず、置き換えるthis.txtファイルを確認します

ティム・ピーターズ著『Pythonの禅』
美しいものは醜いものより良い。
明示的なものは暗黙的なものよりも優れています。
複雑なものよりシンプルなものの方が良いです。
複雑なものより複雑なものの方が良い。
フラットな方がネストされたよりも優れています。
密集よりも疎集の方が良いです。
読みやすさが重要です。
特別なケースは、ルールを破るほど特別ではありません。
実用性は純粋さに勝りますが。
エラーは決して黙って通過してはなりません。
明示的に沈黙させない限り。
曖昧な状況に直面しても、推測する誘惑を拒否してください。
それを実行する明白な方法が 1 つ (できれば 1 つだけ) あるはずです。
ただし、オランダ人でない限り、その方法は最初は明らかではないかもしれません。
今がやらないよりはましだ。
とはいえ、今より決して良いことはない場合が多いです。
実装を説明するのが難しい場合は、それは悪い考えです。
実装が簡単に説明できる場合は、良いアイデアかもしれません。
名前空間は素晴らしいアイデアです。もっと活用しましょう!

上記のテキストファイルで、テキスト内で最も多く出現する上位10個の単語をカウントしたい場合は、次のコマンドを使用できます。

[root@linux ~]# cat this.txt | tr ' ' '\n' | tr -d '[.,!]' | sort | uniq -c | sort -nr | head -10
10は
8 より良い
8 より
5から
5の
3の
3 しかし
3 決して
3 する
3 1つ

とても便利ですよ!

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Linux でファイルを削除するときに「操作は許可されていません」というプロンプトが表示される場合の対処方法
  • Linux シェルコマンドは重複排除後の列の値をカウントします
  • Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント
  • LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法
  • Linux シェルスクリプトの作成と実行
  • PythonはLinuxを操作するためにparamikoを使用する
  • 2つのLinuxサーバー間でファイルとフォルダを転送する手順
  • Linux で削除できないファイル/フォルダの解決方法
  • Linuxターミナルでシェルスクリプトを実行して現在実行中のアプリのログを直接出力するAndroidの実装方法
  • Linux シェル環境での Zabbix API の使用

<<:  データベースマルチテーブル接続クエリの実装方法の詳細説明

>>:  Vue3のサンドボックスの仕組みの詳しい説明

推薦する

Linux で AutoFs マウント サービスをインストールするチュートリアル

Samba サービスでも NFS サービスでも、サーバーの起動時にリモート共有リソースが自動的にマ...

MySQL クエリのパケットが大きすぎる問題と解決策

問題の説明:エラーメッセージ:原因: com.mysql.jdbc.PacketTooBigExce...

Vue プロジェクトでの支払い機能の実装 (WeChat 支払いと Alipay 支払い)

目次プロジェクトにおける一般的な支払い方法Alipay決済微信ペイプロジェクトにおける一般的な支払い...

ファイルをアップロードするときに enctype フィールドを使用する理由は何ですか?

FORM 要素の enctype 属性は、フォーム データがサーバーに送信されるときに使用されるエン...

vue+rem カスタムカルーセル効果

vue+remを使用したカスタムカルーセルチャートの実装は参考までに。具体的な内容は以下のとおりです...

Docker で MySQL データベースを使用して LAN アクセスを実現する

1. MySQLイメージを取得する docker pull mysql:5.6注: mysql5.7...

MySQL で重複レコードを見つけて削除する方法

みなさんこんにちは。私は技術の話ばかりして髪を切らない先生のトニーです。何らかの歴史的な理由や誤操作...

Linux rpm および yum コマンドとその使用法の詳細な説明

RPM パッケージ管理インターネット ダウンロード パッケージのパッケージ化およびインストール ツー...

VirtualBox6上のCentOS7で静的IPを設定する方法と注意点

VirtualBox をインストールした後、CentOS 7 をインストールします。ここでは詳細には...

JSはclip-pathを使用して動的領域クリッピング機能を実装します

背景今日、CodePen を閲覧していたところ、非常に興味深い効果を見つけました。 CodePen ...

VueのVuexの4つの補助機能について

目次1. 補助機能2. 例1. mapState と mapGetters 2. mapMutati...

大規模な MySQL テーブルに対する count() の実装を最適化しました

以下は、B+ ツリーのデータ構造と実験結果からの推測に基づいた私の判断です。間違いがあればご指摘くだ...

IISMonitor を使用して Web ページを監視し、IIS を自動的に再起動します。

目次1. ツールの紹介2. ワークフロー3. 操作インターフェースとパラメータ設定(1)監視と再起動...

MySQL の current_timestamp の落とし穴とその解決策を共有する

目次MySQL の current_timestamp の落とし穴エラーを報告する私の解決策mysq...

Nginx リバース プロキシ構成の完全なプロセス記録

1. 準備LinuxシステムにTomcatをインストールし、デフォルトのポート8080を使用してTo...