"ls|wc -l" の結果が実際のファイル数と一致しません。

フォルダの下のファイル数を数え、次のコマンドを使用する必要があります。

cd testfolder
bash-4.1$ ls | wc -l
6

実際、このフォルダには5つのファイルしかありません。

bash-4.1$ ls
total 44
-rw-r--r-- 1 comp 11595 Sep  4 22:51 30.xls.txt
-rw-r--r-- 1 comp 14492 Sep  4 22:51 A.pdf.txt
-rw-r--r-- 1 comp  8160 Sep  4 22:51 comparison.docx.txt
-rw-r--r-- 1 comp   903 Sep  4 22:51 Survey.pdf.txt
-rw-r--r-- 1 comp  1206 Sep  4 22:51 Steam Table.xls.txt

それはファイルls | wc -lと見なされているようですが、これは間違っています。total 44

ベストアンサー1

上記の内容に関する追加情報は次のとおりです。

出力を処理するには、find結果を他のアプリケーションにパイプするのに適したいくつかのフューチャーがある代わりに使用する必要があります。ls-print0

上記の場合は、このように使用できます。

find . -type f | wc -l

これにはすべての項目がリストされます。文書現在のディレクトリに。

おすすめ記事