ディレクトリ内のすべてのファイル(隠しファイルを含む)を繰り返し印刷し、ファイル数、隠しファイル、隠しディレクトリ、およびディレクトリを記録するbashスクリプトを作成しようとしています。これは課題の一部なので、または-R
を使用することはできませんfind
。du
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
elif [[ -f $file ]];then
fileCounter+=1]
ls -l $file
elif [[file is a hidden directory]];then
listAllFile "$file"
hiddenDirectoryCounter+=1
elif [[file is a hidden file]];then
hiddenFileCounter+=1
ls -l $file
fi
done
}
ファイル/ディレクトリが隠されているかどうかを検出する方法はありますか?
ベストアンサー1
隠しファイルとディレクトリの名前はで始まるので、.
Bashで次のソリューションを使用できます。
# Skip '.' and '..':
if [ "$file_name" = . ] || [ "$file_name" = .. ];then
continue
fi
# Find hidden files:
if [[ "$file_name" =~ ^\. ]];then # if file name starts with a .
...