Linuxのディレクトリ内のファイルの数を調べたい場合があります。たとえば、JournalDevWordPressアップロードディレクトリに存在する画像の数を検索します。
これを行うにはさまざまな方法があります。一般的なシナリオのいくつかと、ディレクトリ内のファイルの数を見つけるための最適なコマンドを見てみましょう。
1。ディレクトリ内のファイル数を見つける
lsコマンドをwcコマンドと一緒に使用して、ディレクトリ内のファイルの数を数えることができます。テーマのルートディレクトリにあるファイルの数を数えましょう。
# ls 404.php archive.php functions.php inc layouts phpcs.xml.dist screenshot.png single.php webpack LICENSE comments.php header.php index.php package-lock.json postcss.config.js search.php src woocommerce.css Plugins dist home.php js package.json readme.txt sidebar-left.php style.css README.md footer.php images languages page.php rtl.css sidebar.php template-parts # ls -1 | wc -l 34
画像を見ると、青い色のアイテムはディレクトリです。これらは、ファイルとして出力にも含まれます。
ディレクトリではなくファイルのみをカウントしたい場合はどうなりますか?
# ls -p | grep -v / | wc -l 24 #
- 「ls-p」コマンドは、末尾に「/」が付いたディレクトリ名を出力します。
- 「grep-v/」コマンドは出力をフィルタリングし、「/」を含まない名前のみを出力するため、すべてのディレクトリが除外されます。
- 最後に、「wc -l」は出力の行をカウントし、出力します。
同様に、ディレクトリ内のディレクトリの数だけを検索する場合は、次のコマンドを使用します。
# ls -p | grep / | wc -l 10 #
注:上記のコマンドは隠しファイルを検索しません。カウントに隠しファイルも含める場合は、lsコマンドで「-a」オプションを使用してください。
# ls -a1 | wc -l 41 #
このコマンドは「。」をカウントします。および「..」もあるため、必要に応じてシェルスクリプトでそれを考慮する必要があります。
2。ディレクトリとサブディレクトリ内のファイル数を再帰的に検索する
上記の例は、ディレクトリ内のファイルとディレクトリを数えるのに適しています。ただし、サブディレクトリを含むファイルの数もカウントする場合は、findコマンドを使用する必要があります。
# find . -type f ./.test_file ./functions.php ./logger/class-logger-writter.php ./logger/class-logger-export.php ./logger/assets/js/base.js ./logger/assets/css/base.css ./logger/assets/css/base.less ./logger/assets/css/base.css.map ./logger/class-logger-reader.php ./class-protector.php ./class-anti-spam-plugin.php # find . -type f | wc -l 11 #
- 検索コマンドの「-typef」オプションは、通常のファイルを検索するために使用されます。
- このコマンドは、すべてのディレクトリ、「。」、および「..」ファイルを無視します。ただし、出力には隠しファイルが含まれます。
- 「wc-l」コマンドは、行の総数をカウントして出力するため、ファイルの数がわかります。
参照:
- wcコマンドのマニュアルページ
- コマンドのマニュアルページを探す