このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linuxコマンドの基本:バイト数・単語数・行数を数える:wcコマンド

バイト数・単語数・行数を数える:wcコマンド

 Linuxでは、多くのデータや設定ファイルがテキスト形式で保存されています。これらのテキストデータを効果的に管理・解析するためには、内容のボリュームを把握することが重要です。wcコマンドは、そのようなテキストデータの行数単語数バイト数を簡単にカウントできる便利なツールです。

wcコマンドとは

 wc(word count)は、指定したファイルや標準入力から読み込んだデータの行数、単語数、バイト数を数えるコマンドです。オプションを指定しない場合、以下のように行数単語数バイト数を順に表示します。

基本的な使い方

user01@ubuntu:~$ wc /etc/passwd
  51    91   2950 /etc/passwd

表示内容の説明

行数単語数バイト数ファイル名
51912950/etc/passwd
表示内容の説明
  • 行数:テキスト内の総行数
  • 単語数:空白で区切られた単語の総数
  • バイト数:ファイルのサイズ(バイト単位)

主なオプション

wcコマンドには、特定の情報だけを表示するためのオプションがあります。

オプション説明
-l行数を表示する
-w単語数を表示する
-cバイト数を表示する
主なオプション

オプションの使用例

行数を表示

user01@ubuntu:~$ wc -l /etc/passwd
51 /etc/passwd  # 行数を表示

単語数を表示

user01@ubuntu:~$ wc -w /etc/passwd
91 /etc/passwd  # 単語数を表示

バイト数を表示

user01@ubuntu:~$ wc -c /etc/passwd
2950 /etc/passwd  # バイト数を表示

実用例

行数を数える(-l オプション)

 -l オプションは特によく使われます。例えば、1行に1つのデータが記録されているファイルの行数を数えることで、データの総件数を知ることができます。

例:ルートディレクトリ直下のファイル・ディレクトリ数をカウント

user01@ubuntu:~$ ls / | wc -l
26

解説

  • ls /:ルートディレクトリ直下のファイルやディレクトリを一覧表示します。
  • | wc -l:その出力の行数をカウントします。
  • 結果として、ルートディレクトリ直下にあるファイル・ディレクトリの数が 26 であることがわかります。

標準入力からの読み込み

 wcコマンドに入力ファイルを指定しない場合、標準入力からデータを読み込みます。これは、パイプラインで他のコマンドと組み合わせる際に便利です。

例:標準入力から読み込んで行数を数える

user01@ubuntu:~$ ls / | wc -l
26
  • この場合、wcコマンドは ls / の出力を標準入力として受け取っています。

標準入力を明示的に指定する

 フィルタを使う際に、標準入力からの読み込みを明示したい場合は、ファイル名として - を指定します。

例:- を入力ファイル名として指定

user01@ubuntu:~$ ls / | wc -l -
26 -

解説

  • wc -l -- を指定することで、標準入力からデータを読み込みます。
  • 出力には行数とファイル名(この場合は -)が表示されます。

まとめ

  • wc コマンドは、ファイルや標準入力の行数単語数バイト数をカウントするためのツールです。
  • 主なオプション
    -l:行数を表示
    -w:単語数を表示
    -c:バイト数を表示
  • フィルタとしての利用
    ・パイプラインで他のコマンドと組み合わせることで、出力結果の集計や解析が可能です。
    ・標準入力を明示的に指定する場合は、ファイル名として - を使用します。

 このように、wc コマンドを活用することで、テキストデータの基本的な統計情報を簡単に取得できます。テキスト処理が主な作業となる Linux 環境では、非常に有用なコマンドの一つです。ぜひ日常の業務で活用してみてください。