GNU/Linux >> Linux の 問題 >  >> Linux

Linux wcコマンド–ファイル内の単語、行、文字の数

Linux wcコマンドは、ファイル内の単語、行、および文字の数をカウントするために使用されます。 「wc」は単語数を表します。

Linuxwcコマンド

wcコマンドがマニュアルページでどのように定義されているか見てみましょう。次のコマンドを入力すると、マニュアルページにアクセスできます。

Linuxwcのマニュアルページ

以下が出力として表示されます。 wcヘルプページを少しずつ理解しましょう。

Linuxwcヘルプ出力

説明されているwcコマンドを使用して、指定されたファイルに含まれる改行、単語、またはバイトの数を取得できます。

出力には、改行、単語、またはバイトの数(複数のファイルが入力された場合はファイル単位)が含まれ、最後に「合計」行が続き、すべてのファイルの単語、単語、またはバイトの合計が表示されます。 。

wcコマンドの構文


$ wc [OPTION]… [FILE]…

Linuxwcコマンドの例

wcコマンドを理解するための例を見てみましょう。

デスクトップにtest.txtとtest2.txtの2つのサンプルテキストファイルを作成し、cdコマンドを使用してデスクトップディレクトリに移動しました。

ここで、構文に従ってwcコマンドを入力して実行すると、次の出力が得られます。

Linuxwcコマンド出力

出力には、test.txt、test2.txt、totalにそれぞれ対応する3行があります。

  1. 出力の最初の列は、ファイルの行数を示しています。上記の両方のテキストファイルには1行しかないため、test.txtとtest2.txtの出力は1になります。
  2. 出力の2番目の列は、ファイル内の単語数を示しています。この場合は、それぞれ12と15です。
  3. 出力の3番目の列には、ファイルのバイト数+ 1(または各文字がメモリ内で1バイトを占めるため、文字)が表示されます。この場合、testとtest2ではそれぞれ58と74です。 (+1の余分なバイトは、行末の「\ n」がテキストエディタによって自動的に追加されるためです)。
  4. 合計行には、入力で指定されたすべてのファイルの行、単語、およびバイトの合計が表示されます。

Linuxwcコマンドオプション

マニュアルページには、wcコマンドオプションに関する情報が記載されています。

Linuxwcコマンドオプション

上記のように、次のオプションをコマンドとともに使用して、特定のカウントを印刷できます。ユーザーが必要とするものだけです。

  • -c、–bytes オプションを使用すると、以下に示すように、ファイルのバイト数+1を出力できます。複数のファイルが入力された場合、追加の合計行も出力に表示されます。

    Linux wc -c –bytesオプション

  • -m、–chars オプションを使用すると、以下に示すように、ファイル内の文字数+1のみを印刷できます。この例では、文字数はバイト数と等しいため、出力は-cと-mの両方で同じです。
  • -lまたは–lines オプションを使用すると、以下に示すように、ファイルの行数のみを印刷できます。複数のファイルが提供されている場合は、追加の合計行も出力に表示されます。
  • Linuxwc行数

  • -Lまたは–max-line-length オプションを使用して、ファイルに存在するすべての行の最大文字数で行の文字数を印刷できます。
  • Linuxwc-Lオプション

    ここでは、2つの新しい.txtファイルを作成しました。file1.txtとfile2.txtには、それぞれいくつかの果物会社と自動車会社の名前が含まれています。

    出力には、file1.txtの場合は10、file2.txtの場合は13が表示されていることがわかります。 「スイカ」と「マルティスズキ」の行は、それぞれのファイルで最も長く、それぞれ10文字と13文字です。

    合計行に誤った合計が表示されているように見える場合があります。これは、-Lを使用すると、totalがその上に表示されている数値の中で最大の数値(この場合は13)を出力として表示するためです。

  • -wまたは–words 以下に示すように、ファイル内の単語数のみを印刷するために使用できます。
  • Linuxwc単語数

  • –files0-from =F 空白/タブ/エンドラインではなく、ヌル文字(バイト値0)で区切られたファイルF内に名前が含まれているファイルから入力を読み取るために使用できます。ファイルがない場合、またはファイル名が「-」の場合、入力は標準入力から直接読み取られます。
  • Linuxwcファイルの送信元

    –がファイル名として書き込まれ、コマンドが実行されると、端末は入力を待ちます。次にファイル名を入力してCtrl+Dを2回押すと、出力は図と同じ行に表示されます。入力が不要になったら、Ctrl+Cを押してプロセスを終了します。

catおよびgrepでのwcコマンドの使用

Linux wcコマンドは、標準の入力から直接入力を受け取ることもできます。別のコマンドの出力は、wcへの入力としてリダイレクトできます。これは、catやgrepなどの他のコマンドで使用する場合に非常に便利です。

Linux wc with cat Command

ここで、catからの出力は、wcコマンドのstdoutからstdinにパイプ(リダイレクト)されました。 testとtest2の出力もこの方法で表示できます。

Linux wcwithgrepコマンド

この例では、文字「e」を含むfile1.txtの行の総数を見つけることが目標です。このため、grepを使用して、ファイルから文字「e」を除外します。次に、出力はwcの標準入力にパイプ(リダイレクト)されます。入力の行数を見つけるために、wcに-lオプションを追加しました。

したがって、最後の行のキウイを除いて、果物のすべての名前に文字「e」が含まれているため、出力は4になります。

結論

Linux wcコマンドはシンプルで使いやすく、catなどの他のコマンドと組み合わせることで、ファイルから有用な情報を検索/除外するために使用できます。 およびgrep 。巨大なテキストに特定のアルファベットを含む行数を見つけるなどのタスクは、手動で行うと時間がかかる場合があります。このコマンドは、このような問題をほんの数秒で解決するのに役立ちます。


Linux
  1. ファイルの行数を数えますか?

  2. Linuxのファイルから行、単語、文字を数える

  3. Linuxwcコマンド

  1. Linux でファイルの行数を数える方法 (wc および nl コマンドの例)

  2. UNIX/Linux でファイルの行数を数える方法

  3. PowerShell で文字数、単語数、行数を数える

  1. Linuxテールコマンド

  2. Linuxタッチコマンド

  3. LinuxでのCatコマンド