Linux でファイル内の特定の文字の数を数える方法

Linux でファイル内の特定の文字の数を数える方法

ファイル内の文字列の数を数えることは、実際には砂の中の石を探すようなものです。ある人は、石を見た後にその上に印を付け (grep)、何個の印を付けたかを覚えます。ある人は、石を見た後にそれを掘り起こし (tr)、最後に掘った石の個数を数えます。ある人は、石を見た後にその石を飛び越え (awk)、何回飛び越えたかを数えます。

これは私が使用したファイルです

[root@bzhou test]# catファイル
ハフスダ
ハハフスドフスドハハ
ハハハ

「haha」という文字列を一致させたい

1. Grepの-oオプション

[root@bzhou test]# grep -c 'haha' ファイル
2

最初は -c オプションが使用されていましたが、-c は 1 行しかカウントできません。行内に一致する文字列が複数ある場合、-c は無力になります。

これは正しい

[root@bzhou test]# grep -o 'haha' ファイル | wc -l
3

2. awk

これはCUのblackoldのおかげです。

[root@bzhou test]# awk -v RS='haha' 'END {print --NR}' ファイル

-v は変数の値を設定するために使用されます。RS はレコード区切り文字です。デフォルトは改行 (\n) で、awk はデータを行ごとに読み取ります。ただし、RS が 'haha' の場合、データは 'haha' として読み取られます。NR は読み取られるレコードの数です。n レコードは n-1 個の区切り文字で区切られるため、--NR になります。

3.tr

厳密に言えば、tr は文字列を一致させることはできず、単一の文字のみを一致させることができます。ここでは、このファイル内の「h」の数を一致させます。

[root@bzhou test]# tr -cd 'h' <ファイル | wc -c
8
[root@bzhou test]# grep -o 'h' ファイル | wc -l
8

-d は特定の文字を削除することができます。-d のみを使用すると、特定の文字を削除した後の文字列が出力されます。ただし、-c は表示を反転することができ、削除された文字が表示されます。次に、wc -c を使用して文字数をカウントできます。

要約する

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

以下もご興味があるかもしれません:
  • Linux シェル ディレクトリ内のファイルを検索するために、if と組み合わせた for ループを使用する方法
  • Linuxで現在のスクリプトの実際のパスを取得する方法
  • Linux での grep コマンドの使い方の詳細な説明
  • Linux テキスト検索コマンド find の詳細な使用方法
  • Linuxのテキスト処理コマンドsortの詳細な説明
  • Linuxのsortコマンドの複数のパラメータを理解するための1つの質問
  • Linuxはjoin -a1を使用して2つのファイルを結合します
  • Linux でファイルを削除するときに「操作は許可されていません」というプロンプトが表示される場合の対処方法
  • LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法
  • Linux での Python のアップグレードと pip のインストールの詳細な説明

<<:  MySQL データベース内の同じテーブルを同時にクエリして更新する方法

>>:  MySQLでよく使われる演算子と関数の概要

推薦する

MySQLで最大接続数を達成する方法

目次データベース接続数が急増した理由は何ですか? 1. はじめに2. 知識ポイント3. 練習するIV...

フロントエンドに必要なNginx設定の詳細な説明

Nginx (エンジン x) は、軽量で高性能な HTTP およびリバース プロキシ サーバーであり...

SQL 集計、グループ化、並べ替え

目次1. 集計クエリ1. COUNT関数2. SUM関数3. AVG関数4. MAX関数とMIN関数...

Linux/Mac に MySQL をインストールするときにパスワードを忘れた場合の解決策

序文この記事では主に、Linux/Mac に MySQL をインストールするときにパスワードを忘れた...

Vueでミックスインを使用する方法

目次序文使い方要約する序文Vue にはコードの再利用に使われる mixins という設定項目がありま...

Centos7.9 で独立したメール サーバーを構築するための詳細な手順

目次序文1. イントラネットDNS AレコードとMXレコードを構成する2. メールサーバの初期化設定...

Linux ディレクトリ切り替え実装コード例

ファイルの切り替えは Linux でよく行われる操作です。Linux を初めて学ぶときに最初に触れる...

HTMLの基礎を詳しく解説(第2部)

1. リストリスト ulコンテナーには、一貫した構造とスタイルを持つテキストまたはグラフの形式が読...

MySQL は information_schema オブジェクトの付与をバイパスし、ERROR 1044 (4200) エラーを報告します

この質問は、MySQL の権限に関する WeChat グループのネットユーザー間の議論です。次のよう...

Dockerイメージ内のファイルを表示する方法

Dockerイメージ内のファイルを表示する方法1. すでに実行中の場合すでに実行中のイメージについて...

JavaScript で外部変数にアクセスするサブ関数の 3 つのソリューション

序文Web ページを作成するときに、次のような状況に遭遇することはよくあります。 <本文>...

MySQL 8.0 における MySQL のインストールと新しいパスワード認証方法の詳細な説明

1. はじめにOracle が MySQL 8.0GA をリリースしました。海外での GA はリリー...

Vue カスタム オプション時間カレンダー コンポーネント

この記事の例では、参考のためにvueカスタムオプションタイムカレンダーコンポーネントの具体的なコード...

事例を通してLinux NFSの仕組みを詳細に分析

前回の記事に引き続き、web02 サーバーを作成し、web01 サーバーと web02 サーバーの ...