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
または配列の要素を計算することによって計算が実行されます。