1. ホーム
  2. linux

[解決済み] Linuxのディレクトリ内のファイルを再帰的にカウントする

2022-03-17 13:56:45

質問

Linuxのディレクトリにあるファイルを再帰的に数えるには?

こんなのを見つけました。

find DIR_NAME -type f ¦ wc -l

しかし、これを実行すると、次のようなエラーが返ってきます。

find: パスは式の前になければなりません。¦

どのように解決するのですか?

これでうまくいくはずです。

find DIR_NAME -type f | wc -l

説明する。

  • -type f を使うと、ファイルのみをインクルードすることができます。
  • | ( であって ¦ ) はリダイレクトされます。 find コマンドの標準出力を wc コマンドの標準入力になります。
  • wc (ワードカウントの略) は、入力の改行、単語、バイトを数えます ( ドキュメント ).
  • -l を使うと、改行だけを数えることができます。

注意事項

  • 交換 DIR_NAME. を実行すると、現在のフォルダーでコマンドが実行されます。
  • を削除することもできます。 -type f を使用すると、ディレクトリ(およびシンボリックリンク)をカウントに含めることができます。
  • ファイル名に改行文字が含まれる場合、このコマンドはオーバーカウントになる可能性があります。

あなたの例が動作しない理由の説明。

表示されたコマンドの中で、"Pipe" を使用していません( | ) を使って2つのコマンドをなんとなくつないでいますが、破線のバー ( ¦ )で、シェルがコマンド等と認識しない。そのため、このようなエラーメッセージが表示されるのです。