$ ls -l JSON_files/*.json | wc -l
bash: /usr/bin/ls: Argument list too long
0
ディレクトリに300kまたは1M以上のJSONファイルがある場合、フォルダ内のファイル数を取得するにはどうすればよいですか?
最も簡単な方法は、コマンドラインのワイルドカードの展開を避け、(コマンドラインではない)出力から必要な名前をフィルタリングすることです:
ls -l JSON_files/ | fgrep .json | wc
ls -f *.json | wc -l
「デフォルトでは、lsは名前をソートします。多数ある場合は時間がかかることがあります。また、すべての名前が読み取られてソートされるまで出力はありません。ソートをオフにするには、ls -fオプションを使用します。」
元のコマンド:
ls -f | wc -l
09年9月15日13:55に回答、mark4o
ソース:多数のファイルの高速Linuxファイル数 https://stackoverflow.com/questions/1427032/fast-linux-file-count-for-a-large-number-of-files
find . -name "*.json" | wc -l