我在一个项目中使用/bin/dash
,但我需要**/filename.ext
有递归行为(即globstar
在中启用bash
)。
有globstar
吗dash
?是否有类似的功能或替代机制?
答案1
从手册页来看,Dash 中没有 globstar,也没有类似的功能。Dash 甚至不支持数组,因此处理文件名很困难。
我能想到的最接近的方法是使用例如制作文件名列表find
,但是包含换行符的文件名会弄乱列表,因此您可以先使用以下命令对它们进行检查
find . -print0 | grep -zPq '\n'
如果找到则返回成功,如果没有找到则返回失败。
或者根据您的需要,您可以find . -print0
在管道中放入您需要运行的任何命令,或者输出到文件然后解析该文件。