名前が2桁の数字で終わるディレクトリのファイル数を表示するLinuxコマンドは何ですか?

名前が2桁の数字で終わるディレクトリのファイル数を表示するLinuxコマンドは何ですか?

Linuxでは、ディレクトリに2桁の数字で終わるファイル名がいくつあるかを示すコマンドは何ですか?ls次のコマンドを使用してください。

ls -l | wc –l  *[0-9][0-9]

ベストアンサー1

Bashでは、次の操作は非再帰的です。もちろん、関数に入れることもできます。

shopt -q nullglob || restore=1 && shopt -s nullglob
var=(*[0-9][0-9])
echo ${#var[@]}
[ 1 -eq "$restore" ] && shopt -u nullglob

これは、奇妙なファイル名がある場合でも機能します。ファイル名がおかしくない場合は、次のls方法を使用できます。

ls -d1b *[0-9][0-9] | wc -l

以前使用したフラグはls異なりました。-dコンテンツではないディレクトリを一覧表示します(something00たとえば、名前付きディレクトリがある場合)。つまり、ファイル名を-1エスケープするために単一の列を使用することを意味します。-bファイル名は機能します。 。

something00これらの両方に、数に指定されたディレクトリが含まれています。ファイルまたは再帰だけが必要な場合、findこれはあなたが探しているものです。これは現在のディレクトリ(.)を再帰的に検索し、ファイル()のみを検索します-type f

find . -type f -name '*[0-9][0-9]' -printf 'f\n' | wc -l

を使用すると-printf文字のみが印刷さfれ、ファイル名は印刷されません。クレイジーファイル名から保護できるようにファイル数を数えたいだけです。

おすすめ記事