スポンサーリンク

【wc】Linux でファイルの行数や文字数を数える

wc コマンドを使うことでファイルの行数や文字数をカウントできます。

スポンサーリンク

1. 基本

1.1. ファイルの行数や文字数を数える

下記のファイルを確認してみましょう。

$ cat test.txt
test test
test test

wc コマンドの実行結果は下記のようになりました。左から行数、単語数、文字数になります。wc コマンドでは改行コードもカウントします。各行にそれぞれ1個の改行コードが含まれているので、この例では文字数が20個になっています。

$ wc test.txt
 2  4 20 test.txt

改行コードを数えたい場合は l オプションを使用します。改行コードが2個であることがわかりました。

$ wc -l test.txt
2 test.txt

2. 応用

パイプを使って他のコマンドの出力結果を数えることもできます。

2.1. あるディレクトリのファイルやフォルダ数を数える

例として /etc ディレクトリに存在するファイルとディレクトリの数を調べてみましょう。まず ls -lで表示結果を確認してみます。

$ ls -l /etc
total 1084
-rw-r--r--.  1 root root      44 Aug  8 17:10 adjtime
-rw-r--r--.  1 root root    1529 Apr  1  2020 aliases
-rw-r--r--.  1 root root   12288 Jun 26 19:09 aliases.db
drwxr-xr-x.  2 root root     261 Aug  8 16:02 alternatives
-rw-------.  1 root root     541 Jan 14  2022 anacrontab
-rw-r--r--.  1 root root      55 Aug  8  2019 asound.conf
drwxr-x---.  3 root root      43 Jun 26 19:06 audisp
drwxr-x---.  3 root root      83 Jun 26 19:09 audit
drwxr-xr-x.  2 root root      22 Jun 26 19:17 bash_completion.d
-rw-r--r--.  1 root root    2853 Apr  1  2020 bashrc
drwxr-xr-x.  2 root root       6 Jan 14  2022 binfmt.d
<以下、略>

次にこの結果を wc コマンドで受け取ってみましょう。

$ ls -l /etc | wc
    187    1708   10707
<以下、略>

一番左の数字が行数を示しています。ls -l コマンドの結果の1行目は “total XXXX” はファイルでもディレクトリでもないので除外します。従って186個のファイルが存在することがわかりました。

以上。

コメント

タイトルとURLをコピーしました