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. テーブルを作成する1.1. テーブルを作成するための基本構文1.1.1. シンプルなテーブ...

Linux でローカル コンピューターとリモート サーバーのポートが接続されているかどうかを確認する方法

以下のように表示されます。 1. ssh -v -p [ポート番号] [ユーザー名]@[IPアドレス...

MySQL データ型 DECIMAL の使用方法の詳細な説明

MySQL DECIMALデータ型は、データベースに正確な数値を保存するために使用されます。会計シス...

Vue 関数のアンチシェイクとスロットリングの正しい使用方法

序文1. デバウンス: 高頻度イベントがトリガーされた後、関数は n 秒以内に 1 回だけ実行されま...

Vue カプセル化コンポーネント アップロード画像コンポーネント

この記事の例では、参考のためにvueアップロード画像コンポーネントの具体的なコードを共有しています。...

便利で使いやすいウェブアプリケーションを設計するための 10 のヒント

より使いやすい Web アプリケーションを設計するための 10 のヒントをご紹介します。ヒント1: ...

複数の条件を持つ MySQL クエリ メソッド

複数の条件を持つ MySQL クエリ環境: MySQL 5.7 where ステートメントに複数の ...

シェルスクリプト nginx 自動化スクリプト

このスクリプトは、nginxの起動、停止、再起動の操作を満たすことができます。 #!/bin/bas...

HTMLのマーキータグは、シームレスなスクロールマーキー効果を実現します。

<marquee> タグはペアで表示されるタグです。最初のタグ <marquee...

Centos7 から Centos8 へのアップグレードに関するチュートリアル (画像とテキスト付き)

正式な環境でアップグレードする場合は、データと重要な設定をバックアップしてください。アップグレードに...

Linuxのファイル操作の知識ポイントを詳しく解説

ファイル操作に関連するシステムコール作成するint creat(const char *ファイル名,...

HTML マウス CSS コントロール

一般的に、マウスは上向きの斜め矢印として表示され、テキストの上に移動すると垂直線になり、ハイパーリン...

Linux centos7 に phpMyAdmin をインストールするチュートリアル

yum install httpd php mariadb-server –yランプの動作環境を設定...