Linuxのディレクトリ内のファイル数を数えますか?[閉まっている]


333

ディレクトリ内のファイル数をカウントするには、通常、

ls directory | wc -l

しかし、使用しない別のコマンドはありますwcか?


16
正確にwcそれを使用することを妨げる問題は何ですか?
ヴァンザ2014年

5
あんまり。Unixコマンドは通常、このように使用され、パイプでチェーンされます。
Michael Berkowski、2014年

2
sshを介して別のホストに接続し、一部のデータにアクセスしています。残念ながら、多くの基本的なコマンドはこのホストでは動作しないようです。wcを使用すると、「認識されないコマンド」が返されます。だから私は他のオプションを探しています。
Kantura、2014年

7
treeコマンドを使用します。ツリーが表示され、下部にファイルとディレクトリの数が表示されます。隠しファイルが必要な場合は、も使用してくださいtree -a
Elijah Lynn

5
@vanza " wcの問題は何ですか "、\nファイル名にaがある場合はどうなりますか?はい、非常にありそうにありません。しかし、技術的には有効であり、可能です。
JamesThomasMoon1979

回答:


524

これは1つです。

ls -l . | egrep -c '^-'

注意:

ls -1 | wc -l

つまり、: lsdir内のファイルをリストします

-1:(これはONEです)行ごとに1つのエントリのみ。隠しファイルも必要な場合は、-1aに変更します

|:出力をパイプ...

wc:「単語数」

-llイネスを数える。


1
待てない。ブーブーを作りました。あなたは絶対に正しいSajad Lfcです。ls -1 dir | egrep -c ''これは、dir内のファイル数を返します。感謝します。
Kantura、2014年

1
@SajadKaruthedath ls -l . | egrep -c '^-'は隠しファイルをカウントしません。に-aフラグを追加することをお勧めしlsます。
JamesThomasMoon1979

1
@ JamesThomasMoon1979:私の説明を確認してください
Sajad Karuthedath

1
フォルダにファイルがない場合にエラーが表示されます。を使用しls -1 /dir 2>/dev/null | wc -lます。ここで、lsからの出力は/ dev / nullに
送信され

6
@runios ls -lは、上部に追加行を返し、合計サイズのファイルサイズを合計するためです。あなたは使うべきls -1ではなくls -l。また、1は隠しファイルを望んでいるが、ディレクトリがなければ、...あなたが使用する必要がありますls -1A | wc -l
ダニエルBiegler
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.