-1
我最初的代碼爲:如何在沒有'find'命令的情況下循環瀏覽bash中的目錄(包括隱藏)?
function recurse {
for i in "$1"/*;do
echo "$i"
if [ -d "$i" ];then
#echo $i
count $i
recurse "$i"
fi
done
}
但後來我意識到,這確實通過隱藏的目錄不循環。我試圖做的是製作一個腳本,它將計算給定目錄中的所有文件和目錄(包括隱藏的)。我的功能來做到這一點:
function count {
varname=($1/*)
for varname2 in ${varname[@]} # For each element
do
if [ -d $varname2 ] # Checks if directory
then
Directories=$(expr $Directories + 1)
elif [ -f $varname2 ] # Checks if file
then
Files=$(expr $Files + 1)
fi
done
for a in $(ls -FA $1 | egrep '^[.].*[/]$') # Checks for hidden dirs
do
HiddenDirectories=$(expr $HiddenDirectories + 1)
done
for a in $(ls -FA $1 | egrep '^[.].*[^/]$') # Checks for hidden files
do
HiddenFiles=$(expr $HiddenFiles + 1)
done
}
謝謝
出於好奇,使用find命令有什麼問題? –
你使用的是什麼版本的'bash'?如果'bash' 4,使用'globstar'選項變得更容易:'用於**/*中的f;例如,do'在當前目錄下遞歸地打擊每個文件。 – chepner
請看看:[我應該怎麼做當有人回答我的問題?](http://stackoverflow.com/help/someone-answers) – Cyrus