我的目标是编写一个脚本来递归搜索当前工作目录和子目录并打印出普通文件数、目录数、 block 特殊文件数、特殊字符数文件、FIFO 的计数和符号链接(symbolic link)的计数。我必须使用 [[ ]] 的条件测试。问题是我不太确定如何开始。
我尝试了类似下面的方法来搜索所有普通文件,但我不确定递归在 BASH 脚本中是如何工作的:
function searchFiles(){
if [[ -f /* ]]; then
return 1
fi
}
searchFiles
echo "Number of ordinary files $?"
但我得到的结果是 0。有人帮忙吗?
最佳答案
为什么不使用 find
?
$ # Files
$ find . -type f | wc -l
327
$ # Directories
$ find . -type d | wc -l
64
$ # Block special
$ find . -type b | wc -l
0
$ # Character special
$ find . -type c | wc -l
0
$ # named pipe
$ find . -type p | wc -l
0
$ # symlink
$ find . -type l | wc -l
0
关于bash - 递归计算特定文件BASH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6268863/