ディレクトリにファイルがいくつあるかをどうやって知るのですか?
このクイックチュートリアルでは、Linuxでディレクトリ内のファイル数をカウントするさまざまな方法を学習します。
方法1:lsおよびwcコマンドを使用して数をカウントしますディレクトリ内の行数
最も単純で最も明白なオプションは、ファイル数をカウントするためにwcコマンドを使用することです。
ls | wc -l
上記のコマンドは、すべてのファイルとディレクトリをカウントしますが、非表示のものはカウントしません。 -A
を使用できます lsコマンドを指定して、非表示のファイルを一覧表示しますが、を省略します。および..ディレクトリ:
ls -A | wc -l
現在のディレクトリ内の非表示ファイルを含むファイルの数のみをカウントする場合は、次のようないくつかのコマンドを組み合わせることができます。
ls -Ap | grep -v /$ | wc -l
それが何をするのか説明させてください:
-
-p
lsを使用すると、/
が追加されます ディレクトリ名の最後にあります。 -
-A
with lsは、隠しファイルを含み、を除くすべてのファイルとディレクトリを一覧表示します。および..ディレクトリ。 -
grep -v / $
一致しない行のみを表示します(-v
オプション)/
で終わる行 。 -
wc -l </ code> 行数をカウントします。
基本的に、 ls
を使用します リストするには、すべてのファイルとディレクトリを表示します(ディレクトリ名に/が追加されます)。次に、パイプリダイレクトを使用して、この出力をgrepコマンドに解析します。 grepコマンドは、末尾に/がない行のみを表示します。次に、wcコマンドはそのようなすべての行をカウントします。
方法2:ツリーコマンドを使用して、ディレクトリ内のファイル数をカウントします
treeコマンドを使用して、現在のディレクトリとそのすべてのサブディレクトリにあるファイルの数を表示できます。
tree -a
ご覧のとおり、出力の最後の行には、オプション -a
のおかげで非表示になっているものも含め、ディレクトリとファイルの数が表示されます。 。
現在のディレクトリ内のファイル数のみを取得し、サブディレクトリを除外する場合は、次のようにレベルを1に設定できます。
tree -a -L 1
方法3:findコマンドを使用して、ディレクトリ内のファイルの数をカウントします
常緑の検索コマンドは、ファイルの処理に関して非常に便利です。
ディレクトリ内のファイルの数をカウントする場合は、findコマンドを使用して最初にすべてのファイルを取得してから、wcコマンドを使用してそれらをカウントします。
find directory_path -type f | wc -l
-type f
を使用 findコマンドにファイルのみを検索するように指示します。
サブディレクトリからのファイルが必要ない場合は、findコマンドのスコープをレベル1、つまり現在のディレクトリに制限します。
find . -maxdepth 1 -type f | wc -l
Linuxでディレクトリ内の行数を数える方法は他にもいくつかあります。どのようにやりたいかはあなた次第です。
これがお役に立てば幸いです。コメントセクションに質問や提案を残してください。