隠しファイルを含むファイルカウンタの作成

隠しファイルを含むファイルカウンタの作成

プログラミングの課題の一環として、ファイルとディレクトリ(隠しアイテムを含む)の数を繰り返し計算するコードスニペットを作成する必要があります。またはコマンドは使用できません-Rfinddu

以下が利用可能であることを理解しています。

listAllFiles() {
local dir=$1
local file
directoryCounter=0
fileCounter=0
hiddenFileCounter=0
hiddenDirectoryCounter=0

for file in "$dir"/*; do
    if [[ -d $file ]]; then
        listAllFiles "$file"
        directoryCounter+=1
    else if [[ -f $file ]]
        fileCounter+=1
   else if [[hidden directory]]
        hiddenDirectoryCounter+=1
   else if [[hiddenfile]]
        hiddenFileCounter+=1
    fi
done}

else ifステートメントに隠しファイルとディレクトリを含める方法はありますか?

ベストアンサー1

最も簡単な方法bashは実行することですshopt -s dotglob。これによりbash、globに隠しファイルを含めるように求められます。

これをしたくない場合(たとえば、その機能を持たないシェルを使用している場合)、次のglobを使用できます.[!.]* ..?* *。明らかな複雑さは、.sumの一致を避けることです..。最初のglob.はで始まりますが、2文字以上の隠しファイルと一致します..。 2番目は、3文字以上で始まる隠しファイルと一致します..。最後は隠されていないファイルの一般的な塊です。

else ifステートメントに隠しファイルとディレクトリを含める方法はありますか?

実際、これはforあなたが見なければならない声明です。"$dir"/*上記の2つの他のグローバルモードを含めるように変更するだけです。

おすすめ記事