現在のディレクトリで名前が5文字以上のファイル数を数える方法は?

現在のディレクトリで名前が5文字以上のファイル数を数える方法は?

lsとを使用しようとしていますgrep。ただし、現在のディレクトリで5文字以上の名前のファイル数を計算する方法はわかりません。

この目標をどのように達成できますか?

答え1

シンプルfind+wcコマンドソリューション:

find . -maxdepth 1 -type f -name "?????*" | wc -l

答え2

これが宿題であれば、課題は次のようになります。

ls | grep ..... | wc -l

私はこれを行いますが:

set -- ?????*
echo $#

または

files=(?????*)
echo ${#files[@]}

ここで重要な操作は、.ファイル名の1文字に一致するシェルglobによって行われます。そのうちの5文字を​​含み、その後に*(任意の文字)を含めて、少なくとも5文字を含むファイルのリストを生成します。 。

$#次に、ソリューションのシェルパラメータを介して、setまたは配列の要素を計算することによって計算が実行されます。

関連情報