Linux ディレクトリ内のファイルを再帰的にカウントするにはどうすればよいですか?
私はこれを見つけました:
find DIR_NAME -type f ¦ wc -l
しかし、これを実行すると次のエラーが返されます。
検索: パスは式の前になければなりません: ¦
ベストアンサー1
これは動作するはずです:
find DIR_NAME -type f | wc -l
説明:
-type f
ファイルのみを含めます。|
(および not¦
) は、find
コマンドの標準出力をwc
コマンドの標準入力にリダイレクトします。wc
(単語カウントの略)は、入力された改行、単語、バイトを数えます(ドキュメント)。-l
改行のみをカウントします。
ノート:
- 現在のフォルダーでコマンドを実行するには、
DIR_NAME
に置き換えます。.
-type f
ディレクトリ (およびシンボリックリンク) をカウントに含めるには、を削除することもできます。- ファイル名に改行文字が含まれる場合、このコマンドによって過剰カウントが発生する可能性があります。
例が機能しない理由の説明:
あなたが示したコマンドでは、|
2 つのコマンドを接続するために「パイプ」( ) は使用されず、シェルがコマンドまたは同様のものとして認識しない壊れたバー ( ¦
) が使用されています。そのため、このエラー メッセージが表示されます。