wc(word count)コマンドはGNUコアユーティリティの1つで、一見シンプルに見えますが、実際には非常に便利なコマンドです。名前から明らかなように、行数、単語数、文字数、バイト数、さらにはファイル内の最長行の長さまで数え、それらを標準出力に出力します。複数の理由でこのカウントが必要になる場合があります。たとえば、文字数を使用して、投稿に挿入できる文字数を制限できます。同様に、システム上のユーザー数、システムにインストールされているパッケージの数などを数えることができます。
この記事では、Linuxでwcコマンドを使用する方法と、そのコマンドラインオプションおよびいくつかの例について説明します。
Ubuntu 20.04FocalFossaシステムでコマンドを実行しました。多かれ少なかれ同じコマンドを他のLinuxディストリビューションに実装することもできます。 Ctrl + Alt+Tキーボードショートカットからアクセスできるデフォルトのターミナルアプリケーションでコマンドを実行しました。
構文
wcコマンドの基本的な構文は次のとおりです。
wc[オプション]...[ファイル]...
複数のオプションを使用する場合は、スペースなしで追加できます。複数のファイルの場合は、1つのスペースで区切る必要があります。
wcコマンドの基本的な使用法
wcコマンドをコマンドラインオプションなしで使用すると、ファイル内の行数、単語数、およびバイト数が返されます。 wcコマンドを使用するには、「 wc」と入力するだけです。 カウントを検索するファイル名が続きます。
$ wc testfile.txt
出力の説明:
wcコマンドは、指定されたファイルのカウント結果を4列に出力します。最初の列はファイルの行数を示し、2番目の列は単語数を示し、3番目の列はバイト数を示し、4番目の列はファイル名を示します。
注:wcは、指定されたファイルの実際の行ではなく、改行カウントのみを出力します。
上記のコマンド出力で、12は行数、21はワード数、116は「testfile.txt」のバイト数です。
結果にファイル名を出力したくない場合は、次のようにwcコマンドで<を使用します。
$ wc複数のファイルから数える
wcコマンドを使用すると、カウントに複数のファイルを指定できます。 wcコマンドは、各ファイルのカウントと、各ファイルのカウントの合計である最後の合計カウントを返します。
オプション
wcコマンドには、いくつかのコマンドラインオプションがあります。それらのオプションとその機能を見てみましょう:
行数を数える
-lでwcコマンドを使用する または–lines オプションで、ファイルの行数だけを印刷できます。たとえば、次のコマンドは「testfile.txt」の行数のみを出力します。
$ wc -l testfile.txt次の出力では、12は「testfile.txt」の行数です。
単語数を数える
ファイルに単語数のみを出力する必要がある場合は、 -wを指定してwcコマンドを使用します または–単語 オプション。たとえば、次のコマンドは「testfile.txt」の単語数を出力します。
$ wc -w testfile.txt次の出力では、21は「testfile.txt」の単語数です。
バイト数を数える
-cでwcコマンドを使用する または–バイト オプションで、ファイルのバイト数を出力できます。次のコマンドは、「testfile.txt」にバイトカウントを出力します。
$ wc -c testfile.txt次の出力では、116は「testfile.txt」のバイト数です。
文字数を数える
-mでwcコマンドを使用する または–chars オプションで、ファイル内の文字数を印刷できます。たとえば、次のコマンドは「testfile.txt」の文字数のみを出力します。
$ wc -m testfile.txt次の出力では、116はtestfile.txtの文字数です。
注:バイト数と文字数は、ASCII形式のファイルで同じです。
最長行の長さを印刷
特定のファイルの最長行の長さを印刷する必要がある場合は、 -Lを指定してwcコマンドを使用して印刷できます。 または–max-line-length オプション。たとえば、次のコマンドは「testfile.txt」の最長行の長さを出力します。
$ wc -L testfile.txt次の出力では、20が最長の行の長さです。
バージョンを表示
wcコマンドのバージョンを表示するには、次のコマンドを使用します。
$ wc --version行数とバイト数を出力
コマンドラインオプションを組み合わせることもできます。たとえば、行数とバイト数を出力するには、次のように-lオプションと-cオプションを組み合わせます。
$ wc -lc注:-lcまたは-clのどちらを実行しても、出力は常に同じ順序になります。つまり、行、ワード、バイト数です。
上記の出力では、29は行数、782はファイル「sample.txt」のバイト数です。
ファイルにカウントを保存する
wcコマンドの出力をファイルに保存するには、次のように>演算子を使用します。
$ wc sample.txt> file_countWcコマンドの使用例
wcコマンドを他のコマンドと組み合わせて、いくつかの例を見てみましょう。
任意のディレクトリ内のファイルのカウント
任意のディレクトリ内のファイルの数をカウントするには、findコマンドの出力をwcにパイプします。たとえば、〜/ Downloadsディレクトリ内のファイルの数を見つけるには、コマンドは次のようになります。
$ find〜/ Downloads / -type f | wc -l </ pre>findコマンドは、システムの〜/ Downloadsディレクトリにあるすべてのファイルを一覧表示し、wcコマンドにパイプしてカウントを取得します。
ユーザー数を数える
wcコマンドを使用して、システム内のユーザーの総数をカウントすることもできます。ユーザー数をカウントするには、「getent passwd」コマンドを使用して、次のようにその出力をwcコマンドにパイプします。
$ getent passwd | wc –l「getentpasswd」コマンドは、システム内のすべてのユーザーを一覧表示し、wcコマンドにパイプしてカウントを取得します。
インストールされているパッケージの数を数える
wcコマンドを使用すると、システムにインストールされているパッケージの数をカウントすることもできます。インストールされているパッケージの数をカウントするには、次のコマンドを使用します。
$ apt list --installed | wc -l </ pre>「aptlist–installed」コマンドは、システムにインストールされているすべてのパッケージを一覧表示し、wcコマンドにパイプしてカウントを取得します。
ファイル内の特定の単語の数を数える
wcコマンドを使用すると、ファイル内の特定の単語の数を数えることができます。たとえば、「sample.txt」という名前のファイルに「science」という単語が何回出現したかを調べるには、コマンドは次のようになります。
$ grep -o‘science’ sample.txt | wc -wこの例では、grepコマンドはsample.txtファイルで「science」という単語の出現を検索し、それをwcコマンドにパイプしてカウントを取得します。
特定の行の文字数を数える
wcコマンドを使用すると、特定の行の文字数を確認することもできます。たとえば、 50行の文字数を検索するには 「sample.txt」という名前のファイルの場合、コマンドは次のようになります。
$ head -50 sample.txt |テール-1| wc -wこの例では、頭 コマンドは、sample.txtファイルの最初の50行を一覧表示し、その後、tailコマンドにパイプされます。 「テール-1 」コマンドは、ヘッドから取得した最初の出力の最後の行(行番号50)をフィルターで除外します。 指図。 テールからの出力 次に、コマンドをwcコマンドにパイプして、50行目の文字数を取得します。
カウントにスクリプトを使用する
次の例では、ファイル内の行、単語、およびバイトをカウントするスクリプトを作成します。スクリプトを実行するときに、ファイル名を引数として渡すので、どのファイルに対しても同じスクリプトを実行できます。
次のコード行を使用してスクリプトを作成します。
#!/ bin / bashecho "読み取るファイル:" readfileecho "" echo "このファイルの数は次のとおりです:" echo -n "行:" wc -l <$ fileecho -n "単語:" wc -w <$ fileecho -n "Chars:" wc -c <$ file次に、ファイル名を引数として渡してスクリプトを実行します。
$ <./script_name>たとえば、「sample.txt」という名前のファイルの行数、単語数、文字数を取得するには、引数としてsample.txtを渡してスクリプトを実行します。
$ ./script2 sample.txtスクリプトを実行すると、ファイルの単語数を示す同様の出力が表示されます。
ファイルが現在の作業ディレクトリ以外の場所にある場合は、フルパスを指定してください:
$ ./script2 / etc / passwdこれは、Linuxでwcコマンドを使用する方法です。この記事では、wcコマンドの基本と、そのコマンドラインオプションおよびいくつかの実用的な例を学習しました。これで、ファイルや他のコマンドからの出力の行数、単語数、文字数、バイト数を簡単に数えることができます。
Ubuntu