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でよく使われる演算子と関数の概要

推薦する

Webサービスのリモートデバッグとタイムアウト動作原理の分析

Webサービスのリモートデバッグ.NET では、WEBSERVICE のリモート デバッグ機能はデフ...

IE6 の iframe の水平スクロール バーの解決策

状況は以下のとおりです: (PS: 赤いボックスは iframe 領域を表し、灰色の四角形は上記の ...

vuex の補助関数 mapGetters の基本的な使い方の詳細な説明

mapGettersヘルパー関数mapGettersヘルパー関数は、ストア内のゲッターをローカルの計...

CSS のサイズと幅と高さのブラウザ解釈の違いに対する解決策

まずは例を見てみましょうコードをコピーコードは次のとおりです。 <!DOCTYPE html ...

角丸四角形の HTML+CSS 実装コード

退屈していたので、突然角丸四角形の実装を思いつきました。しかし、私たちはこの話題についてあまりにも長...

Jsonフォーマットの詳細な説明

目次JSON は次の 2 つの構造に基づいて構築されます。 2. JSON形式1. オブジェクト2....

Docker を使用して ELK ログ システムを構築する例

以下のインストールではすべて、インストール ルート ディレクトリとして ~/ ディレクトリが使用され...

Mysql の 2 つのテーブル間の結合クエリの 4 つの状況の概要

一般的に言えば、より完全な結果を得るためには、2 つ以上のテーブルから結果を取得する必要があります。...

CSS3 はドラッグ可能なルービックキューブの 3D 効果を実現します

主に使用される知識ポイント: •css3 3D変換 •ネイティブjsマウスドラッグイベント•表示:グ...

Vueアイコンセレクターのサンプルコード

出典: http://www.ruoyi.vip/ 'vue' から Vue をイン...

Tomcat と WebLogic で純粋な HTML ファイルを展開するプロセスの分析

1. まず、純粋なHTMLファイルにはindex.htmlというエントリが必要です。 2. Tomc...

js 日付と時刻のフォーマット方法の例

js 日付時刻形式日付と時刻を指定された形式に変換します。例: YYYY-mm-dd HH:MM は...

Vueのトランジションとアニメーションの深い理解

1. DOM要素を挿入、更新、または削除するときに、適切な場合は要素にスタイルクラス名を追加します。...

JavaScript 関数型プログラミングの基礎

目次1. はじめに2. 関数型プログラミングとは何ですか? 3. 純粋関数(関数型プログラミングの基...