ワードカウント
CoddyのTerminalジャーニー「基礎」セクションの一部。レッスン 31/82。
wcコマンドは単語数を表します。ファイル内の行数、単語数、文字数を数えます。
notes.txtがあります。
Buy groceries from the store
Call the doctor tomorrow morning
Finish the terminal course today
Read the new book this weekend
Clean up the project folderwcの後にファイル名を入力するだけです:
wc notes.txt出力には、ファイル名の前に3つの数値が表示されます。
5 26 154 notes.txt- 1つ目の数値:行数
- 2つ目の数値:単語数
- 3つ目の数値:バイト数(通常の英語テキストでは文字数と同じ)
フラグを使って、必要な情報だけを取得することもできます。
-l: 行だけを数える:
wc -l notes.txt-w: 単語のみを数えます:
wc -w notes.txt-c: バイトだけを数えます(文字を数えるには-mを使います。アクセント付き文字や非ラテン文字では結果が異なります):
wc -c notes.txt複数のファイルを一度に数える:
wc -l *.txt # すべての.txtファイルの行数を数えるwc -lはどのように行数を数えるのでしょうか?
wc -lは、表示される行の数ではなく、改行文字(\n)を数えます。つまり、ファイルに5行あっても、最後の行の末尾に改行がない場合、wc -lは5ではなく4と報告します。
これは標準的なUnixの動作です。適切なテキストファイルでは、最後の行は必ず改行文字で終わる必要があります。ほとんどのテキストエディターでは、これが自動的に追加されます。
wc -l notes.txt
5 notes.txt # 正しい:最後の行が改行で終わっている
wc -l notes.txt
4 notes.txt # ファイルの末尾に改行がないよくある使用例:
- 大きなログファイルの行数を確認する
- 文書内の単語数を数える
- ファイルに想定どおりの数の項目があるか確認する
チャレンジ
初心者notes.txtを調べるには、wcコマンドを使います。
wc -lを使って行数を数えますwc -wを使って単語数を数えます
注:
wc -lは改行文字を数えるため、正しい数を得るには、ファイルの最後の行を改行で終える必要があります。
自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Terminalプレイグラウンド
好きなテキストでカウントを確かめる: 文字数カウント