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
れ、ファイル名は印刷されません。クレイジーファイル名から保護できるようにファイル数を数えたいだけです。