我正在尝试编写一个脚本来搜索目录及其子目录等,以查找与给定正则表达式匹配的文件。因此,我首先尝试编写一个函数来获取目录和子目录。由于某种原因,它目前似乎只获取指定目录中的第一个子目录。
这是函数:
getDirs() {
cd "$1"
for i in *; do
if [ -d "$i" ]; then
echo "dir: $PWD/$i"
getDirs "$i"
fi
done
}
getDirs $path
有什么想法可以解决这个问题吗?
最佳答案
尝试使用 find 执行此操作如果您需要正则表达式来搜索文件名:
regex="YourRegexPattern"
find "$1" -type f -regextype posix-egrep -regex "$regex"
如果你想获取所有目录/子目录:
find . -type d
关于linux - 如何修复此 Bash 函数以从指定路径开始并递归列出其子目录以及这些目录的子目录等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13672263/